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 |
|
---|