【1】LINEへデータを送るための各種の設定 工事中です(2025年5月 by Tokio Yamada)![]() この端末(SLO)は、温度・湿度・気圧の環境情報を計測し、設定している時間に自動でLINEへ送信します。従来、LINEへの通信は「LINE Notify」というものが有りましたが、これは2025年3月31日でサービスが終了しました。このような、端末から個人のアカウントに対してメッセージを送るということは、「LINE公式アカウント」に統一されて、資源の有効化をはかり、長期に運用していくということになったようです。私は「LINE Notify」を利用していましたが、これを機にLINE公式アカウントへ移行しました。 したがってまずこのLINE通信を利用するに当たっては、「LINE公式アカウント」の獲得と、獲得したアカウントに対する端末からのデータ送信に必要な「チャンネルアクセストークン(長期)」の取得をまずは実行してください。ご自分のLINE公式アカウントを開設すると、スマホの場合、開設時に、ご自分が設定したアカウント名称が、スマホに現れます(右図の上方、ぼかし)。 これらについての情報は、「LINE公式アカウント」 「チャンネルアクセストークン」をキーワードに WEBで検索すると数多くヒットしますので、詳しい解説を見る事ができます。 ただ、注意点として、「チャンネルアクセストークン」も区別があり、種類によって有効期限が異なりますので、長期のチャネルアクセストークン(無期限)を取得して下さい。このトークンであれば、安心してこの通信を長期にわたって運用していけます。このチャンネルアクセストークンの文字列はとても長いです。私の場合は、172文字もありました。しっかりコピーして、別途のファイルにメモとして記録しておいてください。 無料で送信できるメッセージは、月に200通までです。それを超える送信をしたい場合は有償となります。無償で運用している時に、制限を超えるメッセージを送出すると、送出そのものは実行できますが、先方には届きません。ただし、月が変わると、また200通の資格が得られますので、また、送ることができるようになります。たとえば、上図のスマホ画面のように「定時通報」で、1日に3通を、自分のアカウントだけに送っている場合は、最大で月に 31x 3 = 93通 となり、まったく問題なく運用して行けます。一つのメッセージを3箇所に送出するようにLINE公式アカウントで設定すると、1メッセージのカウントは、3となり、月換算では200を超えますので、ご注意ください。上の図は、自分のアカウントのみに、1日に3通(8時間おき)、送っている様子です。 (2) 重要データ(SSID, Pass Word, Token) の登録 この端末(SLO)は、コントローラに「Raspberry Pi Pico W」を使っています。すべての通信は WiFi を経由して行います。WiFi に接続するための SSID や Pass Word 、それに LINEに送出するときに必要なチャンネルアクセストークンなどをこの端末に登録する必要があります。一般的にはスケッチに書き込んでいますが、この端末では、Flashにファイルとして保存します。その用途に使用するためのWindowsパソコンで使用できる設定用アプリを制作いたしました。ここからそれをセットアップするファイルをダウンロードしてください。ZIPファイルですので解凍してください。解凍すると「SetupSLOE」 というフォルダが現れます。フォルダの中には、setup.exe と SetupSLOE.msi という二つのファイルが現れます。インストールするには、この setup.exe をSetupSLOE.msi がある場所でダブルクリックして起動してください。インストールが終了すると、ディスクトップにショートカットが作られますので、必要であればどこかに保管してください。起動すると下図の初期画面が現れます。 ![]() アプリのPORTのドロップダウンリストから端末が接続されているポートを選択します。どのポートが端末であるかは、デバイスマネージャーなどで確認しておいて下さい。または、端末を接続する前のドロップダウンリストに、接続した後に追加されたポートがあれば、それがそのPORTです。PORTでその端末のCOMを選択して「接続」ボタンをクリックするとアプリ右上の通信モニターが「COMM ON」となり、明るい緑とな ![]() まずは「基本設定」です。ここで「WiFiのSSID」「Pass Word」「LINEのチャンネルアクセストークン(長期)」を記入してください。各テキストボックスの上で右クリックすると「貼り付け」のメニューが出ますので、別途、保存していたものをコピーして張り付けると良いと思います。 全項目を記入されたら、「端末への書き込み」ボタンをクリックして書き込みます。これで基本設定は完了しました。後のために、この内容を「名前を付けて保存」ボタンでパソコン内に保存(例:secrets.dat)しましょう。拡張子は「.dat」としています。ご自分に分かり易い名前を付けて保存してください。この保存したものは「ファイルを読み出す」ボタンで読み出すこともできますし、また「端末から読み込み」ボタンで読み出したものを「ファイルとテキスト群の照合」ボタンでベリファイすることもできます。 次に、基本設定の下は「定時通報の設定」です。アプリ画面の【例1】【例2】の説明の様に設定はシンプルです。スピンボタンの増加・減少ボタンを操作して、所要の値にしてください。最後に「端末への書き込み」ボタンで端末に設定します。今、端末に設定しているものを「端末から読み込み」ボタンで読み込み・表示しますと確認もできます。なお、この「定時通報の設定」は、端末を実際に稼働している時に、アプリを使わず、端末の下部にある[ SET・⇧・⇩ ]の、3つのボタンで変更できます。この操作の詳細は後述します。 以上で、設定は終了です。USBを抜いて電源を入れ直せば、稼働状態に移ります。なお、この端末 さて、「WiFiのSSID」「Pass Word」についてですが、パソコンでは問題なく使えていても、ラズパイ Pico W では使えない場合があります。例えば、日本語文字が一部に使われていたり、Pass Wardに特殊文字(セミコロン ; や $ や ^、* )が使われていると WiFiに接続できないことがあります。文字数については問題ありませんが、文字そのものは平易な英数字であることが望まれますので、もし問題がありましたら、これを参考にして変更して見てください。パソコンやタブレット・スマホなどの情報機器では、SSID, Pass Word の処理は本格的ですが、Raspberry Pi Pico W では対応していないこともあります。 【2】各動作の画面と操作について (1) WiFi への接続 電源が入ると、まず下の左の画面が表示されます。20秒待機し、接続できなかったら、下の右の画面を表示して、 ![]() (2) 時刻の取得 ![]() 1.自動による1日に1回の時刻の取得(校正) 校正のため内部で0時12分に時刻の取得をしています。半端な時刻は、サイトの輻輳を避けるためです。 2.手動による時刻の取得 稼働中にDOWN(⇩)のスイッチを2秒以上押すと、直ちに時刻の取得動作を実行して校正します。 (3) LINEへのメッセージ送出 この動作に入るのには3つの要因があります。いずれかの条件により、メッセージをLINEに送出します。 ![]() UP(⇧)のスイッチを2秒以上押すと、直ちにメッセージを送出します。 2.定時通報の条件成立による送出 「起点時間の設定」と「間隔の設定」で決まる時間に、自動的にLINEに送出 します。 3.再送出フラグによる送出 色んな要因により、LINEの送出が失敗した時は、Flashメモリにその状況を書き込み、端末そのものを再起動します。再起動されて上記の(1),(2)を再実行した後、そのFlashメモリを読み込み、前回、送出が失敗していたら、このフラグによって再送出を試みます。送出が完了しない限り、このフラグはクリアされませんから、諦めずに再送出を繰り返します。 (4) 定時通報の設定 稼働中にSETスイッチ(赤)を5秒以上押すと、定時通報のTmStartとTmIntevalの編集モードに入ります。 ![]() 【3】Arduino-IDE とスケッチについて === 端末の提供 === ![]() この基板の回路図(クリックすると拡大されます) ![]() 水やりシステムは、多くのものがWEBにも上がっていますが、ほとんどがポンプ電源を別にした2電源システムです。 実際の問題として、2電源で運用するのに、個人的にはすごく抵抗がありましたので1電源のテストを開始しました。かなり長い時間をかけて検証しましたが、この1電源のシステムでも問題はないことが確認できました。Amazon からの購入の推薦をしています「WayinTop Automatic Watering Device DIY Kit」にも、2電源を使用するためのリレーボードが付属していますが、これは使用しません(要望:ポンプから出るホースは今の横では無く上向きの方が使いやすいし、リレーボード無しの価格も表示して欲しい)。別途、AliExpress から、ポンプ・ホース・土壌水分センサーを個別に取得することもできます。ただし、同等のものを選択する必要がありますので、写真を見て、同様ものを選択してください。特に水分センサーは多くの種類がありますので御注意ください。電源は、DC5V・1A以上あれば問題ありません。ただしコネクタは、センタープラス、プラグ外径:5.5mm、プラグ内径:2.1mm ですので、ご注意ください。 TFT RGBディスプレー(ST7735S)はチャイナ供給の物です。数台購入しましたが、完璧なものは一つもなく、どれも横筋のかすり傷が少しですが出ます。画像表示には不適ですが文字表示には、ほぼ問題なく使えているので、この用途には「可」とします(それ故に価格は安いとの事)。基板には、これを実装しますので宜しくお願いします。この画面を表示した写真が、このページに数か所にあるのでそれらを参照してどれほどのキズか確認して下さい。 回路図に「Extras for learning」と囲っている部分がありますが、LED と SW は実際に使っています。VR と SDcard-R/W を学習・追加用として残しています。水やりシステムでは、INTERVAL ごとに SDcard にデータを CSVファイルとして書き込んで行けば、後日、Excel などで分析できると思います。SDcard への読み書きの例は、SD_CSV_Test.py として、ソースファイルの中にあります。 データを基に解析した、RPI Pico W による実際の運用状況は、ここにサンプルとして示しています。ソフトウェアの本体は「 WiFi接続 」と「 Googleスプレッドシートへの POST 」以外は、RPI Pico と全く同一です。 【3】開発環境の設定などについて 上記のように main.py を読み込めばソースは見れますが、参考のために下記に示します。 実際の運用状況 。 |
汎用製品通販のページへ USB-IOのページに戻 る TOPへ |