Arduino通訊篇
一、Arduino與藍牙通訊
1、
DIY智能溫濕度計(上)——數據獲取2、
DIY智能溫濕度計(下)——APP控制溫濕度計
3、
藍牙串口助手使用方法4、
DIY智能溫濕度計之升級篇二、Arduino與Esp8266(WiFi模塊)
1、Esp8266相關知識
(一)、基礎篇
- ESP8266開發之旅 基礎篇① 走進ESP8266的世界
- ESP8266開發之旅 基礎篇② 如何安裝ESP8266的Arduino開發環境
- ESP8266開發之旅 基礎篇③ ESP8266與Arduino的開發說明
- ESP8266開發之旅 基礎篇④ ESP8266與EEPROM
- ESP8266開發之旅 基礎篇⑤ ESP8266 SPI通信和I2C通信
- ESP8266開發之旅 基礎篇⑥ Ticker——ESP8266定時庫
(二)、網路篇
- ESP8266開發之旅 網路篇① 認識一下Arduino Core For ESP8266
- ESP8266開發之旅 網路篇② ESP8266 工作模式與ESP8266WiFi庫
- ESP8266開發之旅 網路篇③ Soft-AP——ESP8266WiFiAP庫的使用
- ESP8266開發之旅 網路篇④ Station——ESP8266WiFiSTA庫的使用
- ESP8266開發之旅 網路篇⑤ Scan WiFi——ESP8266WiFiScan庫的使用
- ESP8266開發之旅 網路篇⑥ ESP8266WiFiGeneric——基礎庫
- ESP8266開發之旅 網路篇⑦ TCP Server & TCP Client
- ESP8266開發之旅 網路篇⑧ SmartConfig——一鍵配網
- ESP8266開發之旅 網路篇⑨ HttpClient——ESP8266HTTPClient庫的使用
- ESP8266開發之旅 網路篇⑩ UDP服務
- ESP8266開發之旅 網路篇? WebServer——ESP8266WebServer庫的使用
- ESP8266開發之旅 網路篇? 域名服務——ESP8266mDNS庫
- ESP8266開發之旅 網路篇? SPIFFS——ESP8266 Flash文件系統
- ESP8266開發之旅 網路篇? web配網
- ESP8266開發之旅 網路篇? 真正的域名服務——DNSServer
(三)、應用篇
- ESP8266開發之旅 應用篇① 區域網應用 ——炫酷RGB彩燈
- ESP8266開發之旅 應用篇② OLED顯示天氣屏
- ESP8266開發之旅 應用篇③ 簡易版WiFi小車
(四)、高級篇
- ESP8266開發之旅 進階篇① 代碼優化 —— ESP8266內存管理
- ESP8266開發之旅 進階篇② 閑聊Arduino IDE For ESP8266配置
- ESP8266開發之旅 進階篇③ 閑聊 ESP8266 Flash
- ESP8266開發之旅 進階篇④ 常見問題 —— 解決困擾
- ESP8266開發之旅 進階篇⑤ 代碼規範 —— 像寫文章一樣優美
- ESP8266開發之旅 進階篇⑥ ESP-specific APIs說明
2、Esp8266接入常見物聯網平台
(1)、貝殼物聯
貝殼物聯平台通訊協議-貝殼物聯,讓你與智能設備溝通更方便的物聯網雲平台遠程控制通訊--基於Arduino + ESP8266控制LED燈並返回控制結果(2)、樂為物聯
- 樂聯網 - 樂為物聯開放平台 - 物聯網雲服務運營專家- 樂聯網 - 樂為物聯開放平台 - 物聯網雲服務運營專家提示信息(3)、OneNet
平台簡介_開發者文檔_OneNET資源模型_開發者文檔_OneNET賬戶與登錄_開發者文檔_OneNET創建產品_開發者文檔_OneNET數據流與數據點_開發者文檔_OneNET
三、Arduino與Sim900A(簡訊模塊)
1、視頻教程:
基於arduino的 GSM模塊SIM900A發送簡訊2、
如何使用Arduino和SIM900A GPRS / GSM模塊將數據發送到Web伺服器3、相關資料
SIM900A 各功能指令 詳細版4、相關代碼
(1)、sim900a發送簡訊
#include <Arduino.h>
int i;
void setup() {
Serial.begin(115200);
i = 0;//終止循環
}
void loop() {
if (i == 0) {
SendMessage();
i =2;
}
delay(15 * 1000);
}
void SendMessage() {
Serial.read();
Serial.println("AT");
delay(1000);
Serial.println("AT+CMGF=1");//設置簡訊模式為TEXT。
delay(2000);
Serial.println("AT+CSGA="+861380****500"");//****為當地長途區號
delay(2000);
Serial.println("AT+CMGS="***********"");// AT指令 +電話號碼
delay(2000);
Serial.println("ABC"); // 簡訊的內容
delay(1000);
Serial.write(0x1A);//16進位1A
delay(1000);
}
(2)、sim900a接收簡訊
#include <Arduino.h>
#include <String.h>
void setup()
{
Serial.begin(9600);
Scan_Message();
}
?
void loop() {
Read_Message();
}
?
void Read_Message() {
String inString = "";
while (Serial.available() > 0) {
char inChar = Serial.read();
inString += (char)inChar;
delay(2);
}
if (inString != "") //如果接收到字元不為空
{
//判斷收到的簡訊里是否有"massage"
if (inString.indexOf( "massage") != -1) {
//這裡可以添加控制語句
}
Serial.println(inString);
}
}
?
void Scan_Message() {
Serial.println("AT+CMGF=1
");//設置簡訊模式為TEXT。
Serial.println("AT+CMGR=1
");//讀取第一條簡訊
// Serial.println("AT+CMGD=1
");//刪除第一條簡訊
delay(38);
}
?
推薦閱讀: