最小物聯網系統(八)——與微控制器通訊
在我們完成了前面的幾部分之後,我們也需要把這最後一部分解決,這裡更多的是硬體,Arduino的存在可以讓硬體更簡單。
Arduino
Arduino 是一款便捷靈活、方便上手的開源電子原型平臺,包含硬體(各種型號的arduino板)和軟體(arduino IDE)。它適用於藝術家、設計師、愛好者和對於“互動”有興趣的朋友們。
那麼讓我們先來看看我們寫的程式碼。
void setup() {
Serial.begin(9600);
pinMode(13,OUTPUT);
}
int serialData;
void loop() {
String inString = "";
while (Serial.available()> 0)
{
int inChar = Serial.read();
if (isDigit(inChar)) {
inString += (char)inChar;
}
serialData=inString.toInt();
Serial.print(serialData);
}
if(serialData==1){
digitalWrite(13,HIGH);
}else{
digitalWrite(13,LOW);
}
}
這個程式碼看上去似乎會有點複雜,但是讓我們看點基礎的,也就是由Arduino來控制一個LED的亮和滅。
int led = 13;
void setup() {
pinMode(led, OUTPUT);
}
void loop() {
digitalWrite(led, HIGH); // turn the LED on (HIGH is the voltage level)
delay(1000); // wait for a second
digitalWrite(led, LOW); // turn the LED off by making the voltage LOW
delay(1000); // wait for a second
}
這個也就是來自於官方的示例程式,而我們要做的東西也和這個差不多,只是這個是自動的,上面那個是由串列埠通訊來實現的。
串列埠通訊
序列介面是一種可以將接受來自CPU的並行資料字元轉換為連續的序列資料流傳送出去,同時可將接受的序列資料流轉換為並行的資料字元供給CPU的器件。一般完成這種功能的電路,我們稱為序列介面電路。
簡單地來說,我們誻就是用這個來實現通訊的,用之前的RaspberryPI 傳送1和0給Arduino。那麼我們在Arduino上就只是接受和執行,這個由loop裡面的if來執行
初始化串列埠
如果你真心不喜歡51上的複雜的串列埠,那麼我想Arduino又是解放雙手的東西了。
Serial.begin(9600);
這個就是串列埠初始化,速率為9600。
串列埠讀取
while (Serial.available()<0)
{
int inChar = Serial.read();
if (isDigit(inChar)) {
inString += (char)inChar;
}
serialData=inString.toInt();
用於讀取的就是這麼一行
int inChar=Serial.read()
而下面的部分則是剛我們接收到的資料轉換為1,由於接到的為char型別,那麼我們需要轉為轉為Int進行判斷。
為什麼不直接用'1'
只是為了寫給需要的同學用的,也可以直接在上面用if(serialData=='1'),上面寫可以讓後期擴充套件的時候方便一點。
相關文章
- 最小物聯網系統(七)——與伺服器通訊伺服器
- 最小物聯網系統——Dashboard
- 最小物聯網系統(三)——建立RESTfulREST
- 最小物聯網系統(五)——Laravel RESTful模板化LaravelREST
- 樂訊通雲通訊:物聯網路卡在監控系統的應用
- 最小物聯網系統(四)——詳解Laravel的RESTfulLaravelREST
- 最小物聯網系統(六)——Ajax打造視覺化視覺化
- 最小物聯網系統(九)——Android客戶端Android客戶端
- 樂訊通雲通訊:物聯網路卡在物聯網中起到什麼作用
- 樂訊通雲通訊:物聯卡與物聯網技術讓窗簾更加的智慧化
- 樂訊通雲通訊:物聯網路卡與手機卡區別
- 最小物聯網系統設計——給Laravel新增測試Laravel
- 樂訊通雲通訊:物聯卡,物與物之間溝通的橋樑
- 樂訊通雲通訊:物聯網路卡在車聯網的應用
- 樂訊通雲通訊:物聯網路卡在車聯網中的作用
- 物聯網資料卡系統原始碼——通訊模組整體概述原始碼
- 最小物聯網系統(二)——RESTful(一)Laravel安裝與資料庫設定RESTLaravel資料庫
- 物聯網通訊與普通簡訊通訊的區別和要注意的地方
- 樂訊通雲通訊:如何選擇物聯網路卡
- 樂訊通雲通訊:物聯網路卡有哪些功能
- 樂訊通雲通訊:物聯網路卡都有哪些用途
- Android與物聯網裝置通訊-概念入門Android
- 物聯網通訊協議介紹協議
- 樂訊通雲通訊:什麼是物聯網路卡?物聯網路卡的優點是什麼?
- Android與物聯網裝置通訊-網路模型分層Android模型
- 【物聯網雲端對接-2】通過MQTT協議與阿里雲物聯網套件進行雲端通訊MQQT協議阿里套件
- 物聯網常見通訊協議梳理協議
- 樂訊通雲通訊:物聯卡與加油站結合
- 樂訊通雲通訊:物聯網路卡在食品的應用
- 樂訊通雲通訊:物聯網路卡在無人機的應用無人機
- 樂訊通雲通訊:物聯網路卡是做什麼的
- 樂訊通雲通訊:物聯網路卡助力智慧音響
- 樂訊通雲通訊:如何正確的使用物聯網路卡
- 樂訊通雲通訊:物聯網路卡有什麼優點
- 樂訊通雲通訊:物聯網路卡在工地的應用
- Android與物聯網裝置通訊-UDP&TCP協議AndroidUDPTCP協議
- 樂訊通雲通訊:物聯網路卡在智慧帽的應用
- 樂訊通雲通訊:物聯網路卡在智慧灌溉的應用