【1】LINEへデータを送るための各種の設定 (2025年5月 by Tokio Yamada) (1) LINE公式アカウントとアセストークンの獲得について ![]() したがってまずこのLINE通信を利用するに当たっては、「LINE公式アカウント」の獲得と、獲得したアカウントに対する端末からのデータ送信に必要な「チャンネルアクセストークン(長期)」の取得をまずは実行してください。ご自分のLINE公式アカウントを開設すると、スマホの場合、開設時に、ご自分が設定したアカウント名称が、スマホに現れます(右図の上方、ぼかし部)。 これらについての情報は、「LINE公式アカウント」 「チャンネルアクセストークン」をキーワードに WEBで検索すると数多くヒットしますので、詳しい解説を見る事ができます。 ただ、注意点として、「チャンネルアクセストークン」も区別があり、種類によって有効期限が異なりますので、長期のチャネルアクセストークン(無期限)を取得して下さい。このトークンであれば、安心してこの通信を長期にわたって運用していけます。このチャンネルアクセストークンの文字列はとても長いです。私の場合は、172文字もありました。しっかりコピーして、別途のファイルにメモとして記録しておいてください。 無料で送信できるメッセージは、月に200通までです。それを超える送信をしたい場合は有償となります。無償で運用している時に、制限を超えるメッセージを送出すると、送出そのものは実行できますが、先方には届きません。ただし、月が変わると、また200通の資格が得られますので、また、送ることができるようになります。たとえば、上図のスマホ画面のように「定時通報」で、1日に4通を、自分のアカウントだけに送っている場合は、最大で月に 31x 4 = 124通 となり、まったく問題なく運用して行けます。一つのメッセージを3箇所に送出するようにLINE公式アカウントで設定すると、1メッセージのカウントは、3となり、月換算では200を超えますので、ご注意ください。上の図は、自分のアカウントのみに、1日に4通(6時間おき)、送っている様子です。 (2) 重要データ(SSID, Pass Word, Token) の登録 この端末(SLO)は、コントローラに「Raspberry Pi Pico W」を使っています。インターネットへの通信は WiFi を経由して行います。WiFi に接続するための SSID や Pass Word 、それに LINEに送出するときに必要なチャンネルアクセストークンなどをこの端末に登録する必要があります。一般的にはスケッチ(ソースコード)に書き込んでいますが、この端末では、コンパイルしたりしなくても、どなたでもすぐに使えるようにするために、Flashにファイルとして保存します。その用途に使用するための Windowsパソコンで使用できる、シリアル通信による設定用アプリを制作いたしました。ここからそれをセットアップするファイルをダウンロードして下さい。ZIPファイルです。 この 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 への接続 ![]() (2) 時刻の取得 ![]() 1. 自動による1日に1回の時刻の取得(校正) 校正のため内部で0時12分に時刻の取得をしています。半端な時刻は、サイトの輻輳を避けるためです。 2. 手動による時刻の取得 稼働中にDOWN(⇩)のスイッチを2秒以上押すと、直ちに時刻の取得動作を実行して校正します。 (3) LINEへのメッセージ送出 ![]() 1. 手動による送出 UP(⇧)のスイッチを2秒以上押すと、直ちにメッセージを送出します。 2. 定時通報の条件成立による送出 「起点時間の設定」と「間隔の設定」で決まる時間に、自動的にLINEに送出 します。 3. 再送出フラグによる送出 色んな要因により、LINEの送出が失敗した時は、 ![]() 左図の下は、無料のLINE送出は、200通までですが、そのリミットに達した時に送られてくるメッセージを表示しています。このメッセージが出たら、送ったものは送り先には届いていません。月が変わるまで待つか、有料に切り替えるしかありません。 (4) 定時通報の設定 稼働中にSETスイッチ(赤)を5秒以上押すと、定時通報のTmStartとTmIntevalの編集モードに入ります。 ![]() (5) 通常の稼働中の表示 ![]() 通常の稼働中は左図の表示をしています。 つまり、リアルタイムで現在の日付・時分秒を表示し、さらに温度・湿度・気圧を表示しています。 これらの情報は、常に測定しているので、「LINEへのメッセージ送出」の要因に、これらの変化を取り入れれば、環境変化の警報機を構成することが可能ですので、是非、挑戦してみてください。少々スケッチ(ソース)を変更し再コンパイルする必要はありますが、可能です。 【3】開発環境とスケッチおよびハードウェア (1) 開発環境とスケッチ Arduino-IDE 2.3.3 を利用させていただいております。 スケッチは、SendingLineOfficial7.ino, LGFX_ST7735.h, WR_FileSystem.h, WiFi_Ntp_Line.h の4つのファイルに分かれています。一つのファイルにまとめることもできますが、返って見通しが悪くなってしまうので、大方の機能別に'.h'ファイルとして分けました。この4つのファイルは、SendingLineOfficial7.ino と同じフォルダーに入れて下さい。すべてのスケッチ群を「SendingLineOfficial7」フォルダに入れて、ここに置いております。 ![]() ![]() 1. ボード:Raspberry Pi Pico W 2. ポート:"COMx"(接続されているポート) 3. Flash size:"2MB (Sketch:1984KB, FS:64KB)" ・・・ の設定をして下さい。 File System(FS)は、64KBも必要ないのですが、File Systemの最小の選択肢がこれなので止むを得ないです。この設定(3)を忘れると、コンパイルはできますが動作しませんので注意の事(クリックで図は拡大表示)。 スケッチ内でmain 以外のファイルは#include されていますので、Arduino-IDE のエディタには、タブとして全て表示されます。上図はその様子です。 ダウンロードファイルに含まれていますが、main部だけ下記に示します。 (2) ハードウェア 下図は稼働している端末(SLO)の写真で、右は回路図(クリックで拡大)です。 ![]() ![]() 使用部品のリスト ・ Raspberry Pi Pico W ・ ST7735S 1.8インチ フルカラー128×160 TFT LCDディスプレイモジュール ・ BME-280 高精度大気圧・温度・湿度センサー基板 上記の3点は Amazonや他から購入できます。 ・ LEDライト 3mm,、抵抗330Ω、,タクトスイッチ x 3、セラミックコンデンサ 10μF、 DC5V用ソケット プラグ外径:5.5mm,内径:2.1mm、スペーサ x 4 この端末(SLO)は、ここにて、フル実装版(動作確認済み)と簡易実装基板版としてご提供致しています。 なお、端末のデータを出荷状態に戻すには、電源投入時にSET, ⇧, ⇩ のスイッチ3点を同時に5秒間押し続けます。WiFi SSID, Pass Word, Token, TmStart, TmInteval などが初期化されます。その後、重要データ編集モードに移行します。全くのデータの初期化ですので面倒にしています。 WiFi さえ有れば、現場の環境(温度・湿度・気圧)の報告を定期的に入手することができます。少し、ファームウェアを改造すれば、例えば気温が設定値を超えた時や、または下がった時にLINEにメッセージを送出する警報機とすることもできます。よろしければ御活用ください。 |
汎用製品通販のページへ USB-IOのページに戻 る TOPへ |