工業製造
産業用モノのインターネット | 工業材料 | 機器のメンテナンスと修理 | 産業プログラミング |
home  MfgRobots >> 工業製造 >  >> Manufacturing Technology >> 製造プロセス

Arduino MegaとGSM SIM900シールドでSMS送受信を簡単実装

必要なパーツと用品

パーツ数量
Arduino Mega 2560 (ハードウェアシリアルポート複数搭載ボード推奨)1
Seeed SIM900ベース GSM/GPRSシールド (SIMカード装着済み)1
オス-メス ジャンパーワイヤー2本

使用アプリとオンラインサービス

プロジェクト概要

Arduino MegaとGSM SIM900シールドでSMS送受信を簡単実装

IoTプロジェクトにおいてデバイスを接続する手段として、Wi-FiやBluetoothは低コストですが近距離・ホットスポットエリア限定です。デバイスを遠隔地に設置する場合、GSMは手軽で信頼性の高い選択肢となります。

このチュートリアルでは、ArduinoでGSM経由のSMS送受信を実装する方法を、Visuinoを使ってノーコード/ローコードで解説します。後続チュートリアルでは、GSM経由のインターネット接続・サーバーアクセス、音声通話処理も扱います。

ステップ1:部品準備

Arduino MegaとGSM SIM900シールドでSMS送受信を簡単実装

ステップ2:GSMシールドをArduinoに接続

Arduino MegaとGSM SIM900シールドでSMS送受信を簡単実装
  1. GSMシールドの RX/TX選択ジャンパーキャップを外す
  2. GSMシールドをArduino Megaに重ねて装着
  3. オス-メスジャンパー (橙) のオス側をArduino Megaの RX1 (ピン19) に接続
  4. オス-メスジャンパー (茶) のオス側をArduino Megaの TX1 (ピン18) に接続
  5. 橙色ワイヤーのメス側をGSMシールドの RX選択ジャンパーの中央ピン に接続
  6. 茶色ワイヤーのメス側をGSMシールドの TX選択ジャンパーの中央ピン に接続
Arduino MegaとGSM SIM900シールドでSMS送受信を簡単実装
接続完了状態 (デジタルピン9でモジュール電源制御)

ステップ3:Visuino起動とボード選択

  1. Arduino IDE (1.6.7以上) をインストール
  2. Visuino (https://www.visuino.com) をインストール
  3. Visuino起動後、Arduinoコンポーネントの「Tools」ボタンをクリック
  4. 「Arduino Mega 2560」を選択

ステップ4:シリアルポート1の通信速度を19200に設定

GSMシールドのデフォルトボーレートは19200bpsです。

  1. Object Inspectorで Serial → Item[1] → Speed を展開
  2. ドロップダウンから「19200」を選択

ステップ5:GSM/GPRS Serialコンポーネントの追加と接続

  1. コンポーネントツールボックスで「gsm」検索 → 「GSM/GPRS Serial」を配置
  2. GSM1.Out → Serial[1].In を接続
  3. GSM1.Power → Digital[9].In を接続 (デジタルピン9でモジュール電源ON/OFF制御)

ステップ6:Text Valueコンポーネントで「GSM Ready」通知

  1. 「Text Value」コンポーネントを配置
  2. Valueプロパティを「GSM Ready」に設定
  3. GSM1.Ready → TextValue1.In を接続
  4. TextValue1.Out → Serial[0].In (USBシリアル) を接続 → PC側で受信確認用

ステップ7:SMS送信機能の追加

  1. GSM1コンポーネント選択 → Object Inspectorの「Modules」プロパティの「...」ボタン
  2. 「Short Message」モジュールを追加
  3. 「Short Message」モジュールの「Functions」プロパティで「Send SMS」を追加

ステップ8:SMS送信設定と受信メッセージのシリアル出力

  1. Send SMS 要素の Address プロパティに送信先電話番号を設定 (テスト用に自分のSIM番号を指定すると送信→受信が確認可能)
  2. Text プロパティのピンボタンをクリック → 「String SinkPin」を選択 → Send SMS に Text 入力ピンが追加される
  3. GSM1.MessageInfo.Out → Serial[0].In を接続 (受信メッセージ情報をPCへ出力)

ステップ9:Char To Textコンポーネントでシリアル入力を文字列化

  1. 「Char to Text」コンポーネントを配置
  2. Serial[0].Out → CharToText1.In を接続
  3. CharToText1.Out → Send SMS.Text を接続 (シリアルモニターから入力した文字列をSMS本文として送信)

ステップ10:Delayコンポーネントで送信タイミング調整

  1. 「Delay」コンポーネントを配置、Intervalを「100」msに設定
  2. CharToText1.Out → Delay1.In を接続
  3. Delay1.Out → Send SMS.Clock を接続 (文字列更新完了後に送信トリガー)

ステップ11:コード生成・コンパイル・書き込み

  1. Visuinoで F9 またはツールバーの生成ボタンをクリック → Arduino IDEが開く
  2. Arduino IDEで「書き込み」ボタンをクリック

ステップ12:動作確認

Arduino MegaとGSM SIM900シールドでSMS送受信を簡単実装

電源投入後約30秒でシリアルモニターに「GSM Ready」と表示されます。シリアルモニターで文字を入力し「送信」するとSMSが送信されます。送信先を自分のSIM番号にしていれば、受信したSMSもシリアルモニターに表示されます。他の電話からSMSを送っても同様に表示されます。

Visuinoプロジェクトファイルも添付されています:F1FP7L0IQS4L35B.zip

回路図

接続はステップ2の写真と説明を参照してください。別途回路図画像も提供されています。

製造プロセス

  1. Python連携で信頼性向上: Arduino RFID勤怠管理システム
  2. DHT11温湿度センサーで作る温度アラート – LEDとピエゾブザーで視覚/聴覚通知
  3. Arduino Dueと3.2インチTFTで作る温度監視付きリアルタイムクロック
  4. ArduinoとAndroidでRoomba Create 2をリモコン操作 ─ Bluetooth経由のステップバイステップガイド
  5. ArduinoとNokia 5110ディスプレイで自作電圧計:ステップバイステップガイド
  6. Arduino & MPU6050:SG90 & MG996Rサーボの精密制御
  7. リアルタイム森林火災監視システム: SMSアラート機能付き
  8. u-blox LEA-6H 02 GPSモジュール: Arduino & Python 統合ガイド
  9. DHT11 と Blynk で温湿度をリアルタイム監視する Arduino チュートリアル
  10. Arduino Dueでマスターする音声認識と音声合成
  11. Arduino Unoと1Sheeldで作る4x4x4 LEDキューブ – インタラクティブLEDプロジェクト