技術情報・開発情報
ソースコードなどBitClockの技術情報や開発情報です。
リリース履歴
release date | アプリ | PIC | WLAN | memo |
2018/11/11 | A0920 | 0921 | W0.921 | ・表示設定が天気予報で電池抜き差し直後に88:88になってしまう不具合修正。 |
2018/10/14 | A0920 | 0920 | W0.921 | ・アップロード機能不具合修正 |
2017/07/17 | A0920 | 0920 | W0.920 | ・全国天気対応 ・カメラ機能対応(要HW改造) |
2016/11/17 | A0914 | 0914 | W0.914 | ・POST機能対応 |
2016/09/20 | A0913 | 0913 | W0.913 | ・発売日リリース |
BitClockシステム構成
BitCkockは下記のシステム構成になっています。(tcpアプリについてはesp8266資料を参照)
BitClockはPC接続状態でも電池を消費します。必要のないときはUSBケーブルを抜いて下さい。
esp8266単体構成
BitClockは最初はPICなし、esp8266 (とUSB-UART変換) だけで作ろうとしました。
esp8266はdeep sleep とsleep のときRTCによるカウントとwakeが可能なのですが、deep sleep・sleepどちらも26MHz XTAL発振を止めCR発振でRTCを動かしているらしく、RTC精度が数%ととんでもない値になります(1日 数分ずれる)。RTCをXTAL精度にするためesp8266 ONしっぱなし (70mA) にすると単4電池の場合10時間程度しか持ちません。esp8266単体で使う場合は消費電力とRTC精度のどちらかを諦める必要があります。
モード | 消費電力 | 発振 | 備考 |
WAKE時peak | 400mA, 1.3W | XTAL+PLL | 約40ms幅 |
ON(定常) | 70mA, 230mW | XTAL+PLL | |
sleep時 | 1mA | RC | |
deep sleep時 | 数10uA | RC | wake時にpeak電力発生 |
esp8266+外部PICマイコン構成
そのためBitClockではesp8266+外部PICマイコンの構成にしました。BitClockのステートマシンを下記に載せます。
esp8266は標準で外部マイコン用のUARTコマンドに対応しており、標準UARTコマンドではWLAN接続とTCP通信に対応しています。BitClockではNTPとHTTP対応のためいくつかUARTコマンドを追加しています。
BitClock固有の機能は主にPICマイコンと設定アプリで行っており、BitClockカスタマイズはPICマイコンのfirmware変更又は設定アプリのソース変更がメインになります。またPICマイコンや設定アプリからesp8266へのコマンドは全てTeraTermから送ることが出来るため、まずTeraTermで何ができるか確認することをお勧めします。
UARTコマンド
Teraterm (Windows) など、パソコン用のUART通信アプリを使うことで
- 設定アプリなしで直接BitClock設定
- esp8266 標準UARTコマンドやTIMEZON設定など設定アプリ非対応の全機能
を利用することができます。
[ファイル] - [新しい接続] - [シリアル] - [ポート - COM ?]を選択して下さい。
シリアル(UART)を使うときふつうはボーレートなどの設定をする必要があるのですが、BitClockの場合は不要です。
主なUARTコマンドはTeraTermをBitClockに接続し、ATHELP と入力することで表示されます。
ATHELP ATWPS - connect to AP with WPS ATCON=SSID PASSWORD - connect to AP with password ATCON - display registered AP AT+CWLAP - scan AP AT+GMR - SW version AT+RST - reboot (reconnect to AP and NTP server) ATINIT - factory reset ATHTTP=.. - setup info/log server (info) 00 URL (info_ssl) 01 URL (SohtaMei) 02 (ThingSpeak)03 apikey (twitter) 04 token mes (IFTTT) 05 key event (other) 06 URL (ATPOST=BAT VAL) - internal command ATMODE=DISP [POST] DISP - (normal) 0:hour/min, 1:month/day, 2:toggle, 3:year, 4:week, 5:sec (Eorzea)10:hour/min, 11:month/day, 12:toggle, 13:year, 14:week (analog)16:battery, 17:AD (http) 32:A/B, 33:A, 34:B POST - 0:off, 1:battery(daily), 2:AD(hourly), 3:GPIO(minutely) ATZONE=ZONE - timezone(-11 to 13)
上記以外にもesp8266の標準コマンドを使うことが出来ます。詳しくはesp8266のATコマンド資料を参照して下さい。
ESP8266 AT Command Examples
ESP8266 AT Instruction Set
※英語版です、残念ながら日本語版はありません。