[166] | 1 | ■■USB充電器電力計■■
|
---|
| 2 | http://dev.toppers.jp/trac_user/contrib/wiki/UsbWattMeter
|
---|
| 3 |
|
---|
| 4 | USB充電器電力計は、ECHONET Lite 通信ミドルウェアTOPPERS/ECNLのサンプル・
|
---|
| 5 | アプリケーションです。コンセプト・コードであり、実用的に使用する場合は十分な
|
---|
| 6 | 試験が必要です。
|
---|
| 7 |
|
---|
| 8 | GR-SAKURAにECHONET Liteの電力計を6つ実装し、アナログPIN0〜5の最大入力を
|
---|
| 9 | 2.4Aとして計測しています。電圧は5V固定で電力を算出しています。
|
---|
| 10 | またHTTPSクライアント機能を持ち、定期的に計測値の履歴をPOSTします。
|
---|
| 11 | NCES TRAINING BOARD(http://miconboard.thebase.in/items/409183)を使用した場合、
|
---|
| 12 | 7セグにアナログPIN0〜7の瞬時値を2秒ごとに切り替えて表示しているのが見えます。
|
---|
| 13 |
|
---|
| 14 | ■ソフトウェアについて■
|
---|
| 15 |
|
---|
| 16 | いくつかのオープンソースを利用していますので、各ソフトウェアのライセンスに
|
---|
| 17 | 従ってください。
|
---|
| 18 |
|
---|
| 19 | ・TOPPERS/ASP 1.9.2 動的生成版
|
---|
| 20 | https://www.toppers.jp/asp-kernel.html
|
---|
| 21 | TOPPERSライセンス
|
---|
| 22 | RTOS
|
---|
| 23 | ・TOPPERS/ECNL lwIP対応β版
|
---|
| 24 | https://www.toppers.jp/ecnl.html
|
---|
| 25 | TOPPERSライセンス
|
---|
| 26 | ECHONET Lite通信ミドルウェア
|
---|
| 27 | ・FatFS R0.10b
|
---|
| 28 | http://elm-chan.org/fsw/ff/00index_j.html
|
---|
| 29 | BSDライクなライセンス
|
---|
| 30 | SDカード用ファイルシステム
|
---|
| 31 | ・lwIP 1.4.1
|
---|
| 32 | http://savannah.nongnu.org/projects/lwip/
|
---|
| 33 | BSD-style license
|
---|
| 34 | TCP/IPプロトコルスタック、DHCPクライアント、DNSクライアント、
|
---|
| 35 | IGMPクライアント、SNTPクライアント
|
---|
| 36 | ・TLSF 3.0
|
---|
| 37 | http://tlsf.baisoku.org/
|
---|
| 38 | public domain
|
---|
| 39 | メモリアロケーター
|
---|
| 40 | ・WolfSSL 3.7.0
|
---|
| 41 | http://www.wolfssl.jp/wolfsite/
|
---|
| 42 | GPLv2 or 商用
|
---|
| 43 | SSL/TLSライブラリ
|
---|
| 44 | ・libcurl 7.47.1
|
---|
| 45 | https://curl.haxx.se/libcurl/
|
---|
| 46 | MIT/X derivate license
|
---|
| 47 | HTTP/HTTPSクライアント
|
---|
| 48 | ・musl libc
|
---|
| 49 | http://www.musl-libc.org/
|
---|
| 50 | permissive MIT license
|
---|
| 51 | time関数とgmtime関数
|
---|
| 52 |
|
---|
| 53 | ※正確なライセンスは、それぞれの提供サイトで確認してください。
|
---|
| 54 |
|
---|
| 55 | lwIPのASP対応では、「第3回 TOPPERS活用アイデア・アプリケーション開発コンテスト」
|
---|
| 56 | の受賞作、松浦光洋さんの「lwIP の移植」をベースにさせていただきました。
|
---|
| 57 |
|
---|
| 58 | それぞれのオープンソース提供者に感謝いたします。
|
---|
| 59 |
|
---|
| 60 | ■ビルド方法■
|
---|
| 61 |
|
---|
| 62 | コンパイル/ビルドには、CubeSuite+が必要です。
|
---|
| 63 | サイズ制限のある無償版ではビルドできません。
|
---|
| 64 | cspフォルダの下に以下のフォルダがあり、その中にCubeSuite+のプロジェクトがあります。
|
---|
| 65 |
|
---|
| 66 | ・csp/libasp/libasp.mtpj TOPPERS/ASPのライブラリ
|
---|
| 67 | ・csp/liblwip/liblwip.mtpj lwIPのライブラリ
|
---|
| 68 | ・csp/libwolfssl/libwolfssl.mtpj WolfSSLのライブラリ
|
---|
| 69 | ・csp/libcurl/libcurl.mtpj libcurlのライブラリ
|
---|
| 70 | ・csp/usb_watt_meter/usb_watt_meter.mtpj USB充電器電力計のプログラム
|
---|
| 71 |
|
---|
| 72 | 順にビルドして、
|
---|
| 73 | usb_watt_meter/DefaultBuild/usb_watt_meter.mot
|
---|
| 74 | が実行プログラムになります。
|
---|
| 75 |
|
---|
| 76 | ■注意事項■
|
---|
| 77 |
|
---|
| 78 | ・HTTPSのPOSTを試すにはSDカードが必要です。履歴ファイルを直下のlogフォルダの中に
|
---|
| 79 | 作成し、そのファイルをPOSTします。
|
---|
| 80 | ・また、履歴ファイルを受け取るWebサーバーも必要です。
|
---|
| 81 | ・JSON形式で書き出していますが、これを処理するサーバーのお手本があるわけでは
|
---|
| 82 | ありません。
|
---|
| 83 | ・サーバーは仮のURLとして「www.example.com」となっていますので、変更してください。
|
---|
| 84 | ・時刻を取得するためにSNTPクライアントが動いていますが、lwIPで提供されているままの
|
---|
| 85 | NTPサーバーアドレスですので、変更してください。
|
---|
| 86 | ・libcurlのmprintf.cにあるdprintf_formatf関数は、スタックメモリを大量に使用して
|
---|
| 87 | いたので、FatFsのサンプルにあるfprintfを利用して代替えを行っています。
|
---|
| 88 | 通信電文の文字列が正しくフォーマットされない可能性がありますので、注意が必要です。
|
---|
| 89 |
|
---|