北東北 LabVIEWユーザー会

キャンセル
次の結果を表示 
次の代わりに検索 
もしかして: 

RealTimeClock and NTP with ACC4LV (and PWS of TSXperts)

Arduino Compatible Compiler for LabVIEW (ACC4LV) を使ってインターネットへのWi-Fi接続が可能な低価格のボードProgramable Wireless Stamp (PWS)で、NTPサーバーから時刻をもらってボードのリアルタイムクロックの時刻あわせをする

(Abstruct)

Programable Wireless Stamp (PWS) of TSXperts is small and low-price board, and Wi-Fi, a real time clock with a battery back up and micro SD are gathered compactly. An attractive one is that the basic function related to the Wi-Fi is prepared in particular. These functions are PWS exclusive use, and it's a very regrettable thing that they don't seem able to use it by other boards with ESP8266. It's because I think the utility of Arduino Compatible Compiler for LabVIEW would rise on leaps and bounds when other boards can be used.

The program which adjusts the time of the real time clock using a NTP server is introduced by this document.

(要約)

TSXpertsから発売されているProgramable Wireless Stamp (PWS) はWi-Fi、バッテリーバックアップ付きのリアルタイムクロック、マイクロSDがコンパクトにまとめられた安価なボードです。特に魅力的なのはWi-Fi関連の基本的な関数が用意されていることです。これらの関数はPWS専用でESP8266を使用している他のボードでは使えないらしいのが非常に残念なことです。他のボードでも使えるならばArduino Compatible Compiler for LabVIEW (ACC4LV)の利便性が飛躍的に高まるだろうと思うからです。

このドキュメントではリアルタイムクロックの時刻合わせをNTPサーバーを使用して行うプログラムを紹介します。

Programable Wireless Stamp (PWS) について

Programable Wireless Stamp (PWS) はTSXperts社が販売しているワイヤレスデータ集録用のボードです。

https://www.tsxperts.com/wireless-data-acquisition/

$69 (+送料)と低価格なのですが、バッテリーバックアップの付いたリアルタイムクロック、マイクロSD、充電機能付きLiPoバッテリー端子がついた基板にESP8266というArduinoでもプログラミング可能なWi-Fiモジュールが載っています。IOは基本的にESP8266が持っているもの(I2C, SPI, UART, Digital IO, Analog In) ですが、PMODというインターフェースで使う事ができます。これらの機能がArduino Compatible Compiler for LabVIEW (ACC4LV) でサポートされていると言う点がこのボードを特別なものとしています。(たぶんPWSに載っているESP8266のメモリのどこかに正しいコードが書かれている場合だけACC4LV向けに提供されている関数がコンパイル&ダウンロードできるのではないかと推察されます。) スイッチサイエンスのESP-WROOM-02開発ボードなどESP8266モジュールを使ったボードでもACC4LVの関数が使えるようになるとすごくうれしいですね。

https://www.switch-science.com/catalog/2652/

価格的には問題ないので国内で、たとえばスイッチサイエンスなどで取り扱ってくれると便利ですね。

NTPでの時刻あわせ付きリアルタイムクロック (RTC) プログラム

ボードのデモンストレーションをかねてシンプルで役に立つプログラムを作ってみました。Wi- Fiのエリア外でデータ集録する場合にリアルタイムクロックはほぼ必須の機能ですし、Wi-Fi経由でNTPサーバーにアクセスして時刻をもらってくる機 能はPHPでデータサーバーを作っておいてPWSのWebクライアントでデータを送り込むとか、IFTTTを使うとかするときに役に立つでしょう。

Wi-Fiに接続しておいて、タクトスイッチが押されたときにNTPサーバーにWebクライアントからアクセスします。

http://www.nict.go.jp/JST/http.html

時分秒で返してくれるサービスを使って帰ってくる文字列から時刻部分「Thu May 12 10:48:03 2016 JST」を取り出します。

PWS用のRTC書き込み関数は、おそらくバグなのでしょうが、バッテリーバックアップ機能をONにするビットを立て忘れているようなので作りました。

秒、分、時、曜日、日、月、年をRTCに書き込める形式に変換します。ACC4LVは文字列処理が貧弱なので少し面倒ですが、そんなに手間ではありません。ただし、ACC4LVでは配列を入力にできないという制約を忘れてエラーに首を傾げるとか、はまりどころは何ヶ所かありました。

Photo01.jpg

ダイアグラムの紹介

RTC_with_NTP_Time_Setd.png

RTC_with_NTP_Time_SetdL.jpg

RTC_with_NTP_Time_SetdR.jpg

RTC_with_NTP_Time_Setd1.png

subTimeSetd.png

sub__Read_mcp79410_RTCd.png



すべてをダウンロード
メッセージ1/1
4,390件の閲覧回数