カテゴリー: Raspberry Pi

  • Raspberry Pi Zero 2 W [RASPIZ2SC0510]

    https://raspberry-pi.ksyic.com/main/index/pdp.id/849/pdp.open/849

    税込価格: 2,915円
    在庫数: 77

    ずーっと品切れだったけど入荷した模様。ぽちった!

  • 温度センサー

    技術検証済。MVP!ゆーしょー 🍻

    連投禁止w 定期的なイベントならタイマー回してバケツリレーしたらいいからな、温度が変わったときだけ不定期に通信するように修正した。初期値が気になるけどしばらくこれでー

    Socket.IO
    https://socket.io/get-started/chat

    WebSocket proxying
    http://nginx.org/en/docs/http/websocket.html

    備忘:

    WebSocket周りはSocket.IOライブラリのサンプルをコピペ/流用している。マイコンとかリバースプロキシ周りで時間がかかったなー

    • MicroPythonの開発環境「Thonny」をインストール
      Arduino IDE/Thonny/VScodeの3択。Arduino IDEはArduino言語なので不採用。VScodeの拡張機能は使いづらかったので不採用。Thonnyはエディタとして宜しくないけど消去法で採用。It’s a thonny!
    • MicroPythonのスクリプトのOSErrorやHTTPErrorのハンドリング
      無限ループは落としてはいけない。
    • Raspi4とPicoのどちらかが停止/起動した場合の動作確認
      マイコンのPicoは無条件に毎秒通知してくる。
    • サービスの依存関係?(未解決事件)
      raspi4(サーバ側)だけをOS再起動した場合、初回のWebSocket通信からエラーが通知されて復旧できない。systemdのserviceファイルを書いてNginxとアプリに依存関係を設定してみたり起動順序を入れ替えても解消せず。
      “””
      websocket.js:122 WebSocket connection to ‘wss://kozawa.tokyo/api/socket.io/?EIO=4&transport=websocket&sid=wNbbtvtR6kbla2AIAAAA’ failed: WebSocket is closed before the connection is established.
      “””
      Nginx単独の再起動が必要となる。
      →serviceファイルを作成して暫定対処済。
    • アプリのサービス化
      バックエンドにNode.jsのAPIサーバを立てて、Nginx/リバースプロキシを設定して、Socket.IOで/api/のサブディレクトリを使用するようにあれこれ試行錯誤した。Nginxの公式ドキュメントにたどり着くまでが長かった。プロトコルのバージョン?アップグレード?https/ws周りググって勉強にはなった。
    • お天気API
      気象庁がJSONファイルを公開していた。
      https://www.jma.go.jp/bosai/forecast/data/forecast/130000.json
      weatherCode
      https://www.jma.go.jp/bosai/forecast/ にアクセスしてデバックツールの Console にて「Forecast.Const.TELOPS」を実行すると最新のweatherCodeが取得できる。情報豊富、先人の方々に感謝ー
      →副産物的な「今日の天気」を作成&公開した。

    バックエンドにAPIサーバがあったら何ができるー?わくわく

  • 温度センサー

    ちゃんと動いてるやん!! キリッ

    日本標準時に直結した時刻サーバ公開NTP
    https://jjy.nict.go.jp/tsp/PubNtp/

    raspi picoで毎秒時刻を取得してるけどちょいちょい抜ける模様。

  • Raspberry Pi Pico W 温度センサー →

    まだ動作が怪しいけどしばらくこれで。

    WebSocket
    https://ja.wikipedia.org/wiki/WebSocket

  • Raspberry Pi Documentation

    Raspberry Pi Pico and Pico W
    https://www.raspberrypi.com/documentation/microcontrollers/raspberry-pi-pico.html#documentation

    PicoとPico WでLEDの指定が異なる。

    Pico
    led = machine.Pin(“25”, machine.Pin.OUT)

    Pico W
    led = machine.Pin(“LED”, machine.Pin.OUT)

    適当にググってLチカしようとしたらはまったー

  • Raspberry Pi Pico W

    ポチった。マイコンにWi-Fiが付いたら何ができるー?わくわく

    https://www.amazon.co.jp/gp/product/B0BB69CH2T/

  • Raspberry Piケースきた

    そこのあなたー、あなたはこれにアクセスしています。