HOME
  Security
   Software
    Hardware
  
FPGA
  CPU
   Android
    Raspberry Pi
  
nLite
  Xcode
   etc.
    ALL
  
LINK
BACK
 

[NEW] 2022/11/09

LoRa通信を使用してポストに郵便物が投函されるとスマホの LINE宛に通知する IoTの作り方 LoRa通信を使用してポストに郵便物が投函されるとスマホの LINE宛に通知する IoTの作り方

(LoRaを使用した IoT郵便受け LoRa IoT Mailbox Sensor with LINE Messaging API)

Tags: [電子工作]




● LilyGO ESP32 LoRa SX1276を買ってみた

[NEW] 2022/11/09
LilyGO ESP32 LoRa SX1276を買ってみた、LPWAの急先鋒、LoRaWANも無料
LilyGO ESP32 LoRa SX1276を買ってみた、LPWAの急先鋒、LoRaWANも無料

  LilyGO ESP32 LoRa SX1276を買ってみた


● LoRaを使用した IoT郵便受け LoRa IoT Mailbox Sensor with LINE Messaging API

 スイッチサイエンスの IoT郵便受けを真似て LilyGO ESP32 LoRa版を作成しました。

IoT郵便受けキット--販売終了

 ソースコードは下記の GitHubを参照してください。

● LilyGO ESP32 LoRa SX1276のサンプル(日本仕様 AS923 AS920-923 AS1)

 915MHzの物を購入し、923MHzで動作させています。

Semtech LoRa SX1276

LoRa IoT Mailbox Sensor with LINE Messaging API

LoRa通信を使用してポストに郵便物が投函されるとスマホの LINE宛に通知する IoTの作り方 Mailbox Notification Sensor tutorial with LINE API


・LoRaを使用した IoT郵便受け LoRa IoT Mailbox Sensor with LINE Messaging API
LoRaを使用した IoT郵便受け LoRa IoT Mailbox Sensor with LINE Messaging API



・LoRaを使用した IoT郵便受け LoRa IoT Mailbox Sensor with LINE Messaging API
LoRaを使用した IoT郵便受け LoRa IoT Mailbox Sensor with LINE Messaging API
 プッシュ ボタンの部分が郵便物を検知するスイッチとなっています。

 実験では見通し 500m程度の範囲で LoRaの送受信が可能でした。

 下記を各自の設定値で変更する必要が有ります。

LoRaReceiver/LoRaReceiver.ino
// WiFi Internet Router
const char* ssid     = "WIFI_SSID";
const char* password = "WIFI_PASSWORD";

// LINE Messaging API
const char* line_channel_access_token = "LINE_CHANNEL_ACCESS_TOKEN";
const char* line_your_user_id = "LINE_YOUR_USER_ID";


● LINE Messaging APIの設定方法は下記の記事をご覧ください

2020/01/26
LINE Developersに登録して LINE Messaging APIで Botを作って遊ぶ方法【ぼっち上等】
LINE Developersに登録して LINE Messaging APIで Botを作って遊ぶ方法【ぼっち上等】

  友達0でも大丈夫! LINE Messaging APIで Botを作って LINEぼっち状態を解消する方法

2020/01/27
LINE Messaging APIで Pushメッセージを送信する方法 Windows、Linux、ラズパイ、PHP言語に対応
LINE Messaging APIで Pushメッセージを送信する方法 Windows、Linux、ラズパイ、PHP言語に対応

  LINE Messaging APIで Botからメッセージを送信して貰う方法 PaizaCloudにも対応


● LoRaの送信のサンプル

int counter = 0;

void setup()
{
    // ESP32 CPU Freq. 80MHz(240, 160, 80, 40, 20, 10)
    // setCpuFrequencyMhz(10); // Starting LoRa failed!
    LoRaを使用する時は 20MHz以上の CPUの動作周波数が必要
    setCpuFrequencyMhz(20);

    SPI.begin(RADIO_SCLK_PIN, RADIO_MISO_PIN, RADIO_MOSI_PIN);

    Serial.println("LoRa Sender");
    LoRa.setPins(RADIO_CS_PIN, RADIO_RST_PIN, RADIO_DI0_PIN);
    if (!LoRa.begin(LoRa_frequency)) {
        Serial.println("Starting LoRa failed!");
        while (1);
    }
    LoRa.setTxPower(13);             // TX Power: 13dBm, 20mW, ARIB STD-T108
    LoRa.setSignalBandwidth(125E3);  // Signal Bandwidth: defaults to 125kHz
    LoRa.setSpreadingFactor(10);     // Spreading Factor: defaults to 7, 6 to 12
    LoRa.setCodingRate4(5);          // Coding Rate: defaults to 5, 5 to 8
    LoRa.enableCrc();
}

void loop()
{
    // send packet
    LoRa.beginPacket();
    LoRa.print("hello ");
    LoRa.print(counter);
    LoRa.endPacket();

    // Sleep
    LoRa.sleep();

    counter++;
}


● LoRaの受信のサンプル

void setup()
{
    LoRaの送信のサンプルと同じ
}


void loop()
{
    // try to parse packet
    int packetSize = LoRa.parsePacket();
    if (packetSize) {
        // received a packet
        String recv = "";
        // read packet
        while (LoRa.available()) {
            recv += (char)LoRa.read();
        }

        String recvに受信内容が入っている
        Serial.println(recv);
    }
}


● ESP32で WiFiのアクセスポイントに接続するサンプル

// WiFi Internet Router
const char* ssid     = "WIFI_SSID";
const char* password = "WIFI_PASSWORD";

void setup()
{
    // ESP32 CPU Freq. 80MHz(240, 160, 80, 40, 20, 10)
    // setCpuFrequencyMhz(40); // WiFi Failed
    WiFiを使用する時は 80MHz以上の CPUの動作周波数が必要
    setCpuFrequencyMhz(80);

    Serial.println("WiFi Begin");
    WiFi.begin(ssid, password);
    while (WiFi.status() != WL_CONNECTED) {
        Serial.print(".");
        delay(1000);
    }
    Serial.println("WiFi Connected");
}

void loop()
{
    ...
}


● ESP32で LINE Messaging APIでメッセージを送信するるサンプル

// LINE Messaging API
const char* line_channel_access_token = "LINE_CHANNEL_ACCESS_TOKEN";
const char* line_your_user_id = "LINE_YOUR_USER_ID";

void loop()
{
      // LINE Messaging API
      HTTPClient httpClient;
      httpClient.begin("https://api.line.me/v2/bot/message/push");
      httpClient.addHeader("Content-Type", "application/json");

      char buf[256];
      sprintf(buf, "Bearer %s", line_channel_access_token);
      httpClient.addHeader("Authorization", buf);

      sprintf(buf, "{"
        "\"to\": \"%s\","
        "\"messages\":["
          "{"
            "\"type\":\"text\","
            "\"text\":\"%s%s\""
          "}"
        "]"
      "}", line_your_user_id, "郵便来た: ", recv);

      int status_code = httpClient.POST((uint8_t *)buf, strlen(buf));
      if (status_code == 200)
      {
        Serial.print("OK");
      }
      else
      {
        Serial.printf("ERR %d", status_code);
      }
      httpClient.end();
}


●技適は総務省の「技適未取得機器を用いた実験等の特例制度」で 180日間は合法的に実験で使用可能

[NEW] 2022/11/09
輸入物の技適の無い無線機器を使用する為に技適未取得機器を用いた実験等の特例制度を申請する方法
輸入物の技適の無い無線機器を使用する為に技適未取得機器を用いた実験等の特例制度を申請する方法

  総務省の技適申請で 180日間の実験で使用可能に、マイナンバーカードで 10分程度でサクッと申請可能です



Tags: [電子工作]

●関連するコンテンツ(この記事を読んだ人は、次の記事も読んでいます)

ESP32で東方の Bad Apple!!の動画を 128 x 64 dotの OLED SSD1306で再生する!
ESP32で東方の Bad Apple!!の動画を 128 x 64 dotの OLED SSD1306で再生する!

  ESP32で東方の Bad Apple!!の動画を再生する!実際にはパラパラ漫画です

LilyGO ESP32 LoRa SX1276を買ってみた、LPWAの急先鋒、LoRaWANも無料
LilyGO ESP32 LoRa SX1276を買ってみた、LPWAの急先鋒、LoRaWANも無料

  LilyGO ESP32 LoRa SX1276を買ってみた

ESP32で Slackに「勤怠管理」メッセージをワンボタン操作で投稿する方法
ESP32で Slackに「勤怠管理」メッセージをワンボタン操作で投稿する方法

  Slackの勤怠チャンネルに毎日毎日毎日毎日 手動で投稿するのが馬鹿らしいので ESP32で作った

ESP32のプログラムを ESP8266に移植する方法、Arduinoでも微妙に互換性が無い所が有ります
ESP32のプログラムを ESP8266に移植する方法、Arduinoでも微妙に互換性が無い所が有ります

  ESP32の https SSLや GPIO割込み等を ESP8266に移植する方法

Espressif ESP32 Arduino互換でスケッチが使える WROOM32開発基板
Espressif ESP32 Arduino互換でスケッチが使える WROOM32開発基板

  Espressif ESP32 32ビット Arduino互換マイコンボードをお手軽に開発する方法

Espressif ESP8266 Arduino互換でスケッチが使える ESP-12Eモジュール基板
Espressif ESP8266 Arduino互換でスケッチが使える ESP-12Eモジュール基板

  Espressif ESP8266 ESP-12-E NodeMCU V1 ESP12 CP2102

ESP8266で Python言語 MicroPythonを動かす方法
ESP8266で Python言語 MicroPythonを動かす方法

  Windows 10の WSL環境で ESP8266で Python言語 MicroPythonを動かします

ESP32で Python言語 MicroPythonを動かす方法
ESP32で Python言語 MicroPythonを動かす方法

  Windows 10の WSL環境で ESP32で Python言語 MicroPythonを動かします

LilyGO TTGO T-display ESP32/ RP2040/ GD32 GD32VF103CBT6を買ってみた
LilyGO TTGO T-display ESP32/ RP2040/ GD32 GD32VF103CBT6を買ってみた

  LilyGO TTGO T-display ESP32/ RP2040/ GD32 GD32VF103CBT6を買ってみた

新型 Arduino UNO R4 Minimaのクローンを買った!!
新型 Arduino UNO R4 Minimaのクローンを買った!!

  Renesas RA4M1 Arduino UNO R4 Minima clone 无名科技Nologo Tech




[HOME] | [BACK]
リンクフリー(連絡不要、ただしトップページ以外は Web構成の変更で移動する場合があります)
Copyright (c) 2022 FREE WING,Y.Sakamoto
Powered by 猫屋敷工房 & HTML Generator

http://www.neko.ne.jp/~freewing/hardware/lilygo_esp32_lora_iot_mailbox_sensor/