NodeMCU刷Arduino韌體讀取紅外測溫資料並上傳到OneNet
#include <Arduino.h> #include <ESP8266WiFi.h> #include <ESP8266WiFiMulti.h> #include <ESP8266HTTPClient.h> #define WIFINAME "F5dAST" #define WIFIPW "2015652066" const char* host = "183.230.40.33"; const char* devidGet = "23785199"; const char* apiKey = "Cwpofvw5UWw=Y2j=H656576uunXsRCI= "; void setup() { pinMode(BUILTIN_LED, OUTPUT); Serial.begin(115200); Serial.println(""); WiFi.begin(WIFINAME, WIFIPW);//link to router Serial.print("Connecting.."); while (WiFi.status() != WL_CONNECTED)//try link to router { delay(500); Serial.print("."); } Serial.println(); Serial.print("Connected,IP Address:");//connecting succeed Serial.println(WiFi.localIP()); } void loop() { // RequestData(); SendData(11); } void SendData(float a) { int lengthofPost=62; WiFiClient client; Serial.printf("\r\nConnectint to %s ..", host); Serial.println(""); if (client.connect(host, 80)) { //length of the post content remain to be post Serial.println("Connected!"); Serial.println("Send a request"); client.print(String("POST /devices/") + devidGet +"/datapoints HTTP/1.1\r\n" + "api-key: "+apiKey+ "\r\n" + "Host: api.heclouds.com"+ "\r\n"+ "Content-Length: "+lengthofPost+"\r\n\r\n" +"{\"datastreams\":[{\"id\":\"18dB20\",\"datapoints\":[{\"value\":\"11\"}]}]}"+"\r\n" );//devidGet the device id //============ Serial.print(String("POST /devices/") + devidGet +"/datapoints HTTP/1.1\r\n" + "api-key: "+apiKey+ "\r\n" + "Host: api.heclouds.com"+ "\r\n"+ "Content-Length: "+lengthofPost+"\r\n\r\n" +"{\"datastreams\":[{\"id\":\"18B20\",\"datapoints\":[{\"value\":\"11\"}]}]}"+"\r\n" );//devidGet the device id //apiKey: the apiKey Serial.println("\r\n[Response:]"); while (client.connected()) { while (client.connected()) { if (client.available()) { String line = client.readStringUntil('\n'); Serial.println(line); } } client.stop(); Serial.println("\nClient stop, disconnected"); } } else { Serial.println("connecting failed!"); client.stop(); } delay(3000); } //POST /devices/20123901/datapoints HTTP/1.1 //api-key:RH5KM1PmIskXgWV556BtXpqsZ4s= //Host:api.heclouds.com //Content-Length: 61 // //{"datastreams":[{"id":"Temp","datapoints":[{"value":"33"}]}]} //================== void RequestData() { WiFiClient client; Serial.printf("\r\nConnectint to %s ..", host); Serial.println(""); if (client.connect(host, 80)) { Serial.println("Connected!"); Serial.println("Send a request"); client.print(String("GET /devices/") + devidGet +"/datastreams/Switch HTTP/1.1\r\n" + "Host:" + host + "\r\n" + "api-key: "+apiKey+ "\r\n" + "Host: api.heclouds.com\r\n" + "\r\n" );//devidGet the device id //apiKey: the apiKey Serial.println("\r\n[Response:]"); while (client.connected()) { while (client.connected()) { if (client.available()) { String line = client.readStringUntil('\n'); Serial.println(line); } } client.stop(); Serial.println("\nClient stop, disconnected"); } } else { Serial.println("connecting failed!"); client.stop(); } delay(3000); } // GET /devices/23785199/datastreams/Switch HTTP/1.1 //api-key: ZyGPZiTMBMvamibfxN3AEgqlhPY= //Host: api.heclouds.com // POST /devices/23785199/datapoints HTTP/1.1 // api-key: Cwpofvw5UWw=Y2j=H76uunXsRCI= // Host: api.heclouds.com // Content-Length: 62 // {"datastreams":[{"id":"18B20","datapoints":[{"value":"11"}]}]}
溫度計測試
///////////////////// /* GY-MCU90615----MINI VCC----VCC GND----GND 1:RX---TX,send A5 51 F6 to GY263 2:TX---RX 3:MINI_TX---FT232_RX */ ////////////////// unsigned char Re_buf[11],counter=0; unsigned char sign=0; float TO=0,TA=0; void setup() { Serial.begin(9600); delay(1); Serial.write(0XA5); Serial.write(0X45); //初始化,連續輸出模式 Serial.write(0XEA); //初始化,連續輸出模式 } void loop() { unsigned char i=0,sum=0; if(sign) { sign=0; for(i=0;i<8;i++) sum+=Re_buf[i]; if(sum==Re_buf[i] ) //檢查幀頭,幀尾 { TO=(float)(Re_buf[4]<<8|Re_buf[5])/100; Serial.print("TO:"); Serial.println(TO); TA=(float)(Re_buf[6]<<8|Re_buf[7])/100; Serial.print("TA:"); Serial.println(TA); } } } void serialEvent() { while (Serial.available()) { Re_buf[counter]=(unsigned char)Serial.read(); if(counter==0&&Re_buf[0]!=0x5A) return; // 檢查幀頭 counter++; if(counter==9) //接收到資料 { counter=0; //重新賦值,準備下一幀資料的接收 sign=1; } } }
相關推薦
NodeMCU刷Arduino韌體讀取紅外測溫資料並上傳到OneNet
#include <Arduino.h> #include <ESP8266WiFi.h> #include <ESP8266WiFiMulti.h> #include <ESP8266HTTPClient.h> #defin
esp8266實驗:搭建最小系統,刷nodemcu韌體,dht11溫度讀取並上傳伺服器
esp8266-12E模組esp8266轉接板cp2102模組 or ch304g模組輕觸開關洞洞板HT7533A-1 3.3v穩壓晶片3.7v鋰電池DHT11溫度溼度模組2.焊接esp8266轉接板,製作測試底板esp8266模組不是特別小,實際使用可以直接把它焊在洞洞板上,但是作為反覆使用的話,建議焊接到
ALIENTEK 的 ESP8266 WiFi Module 刷入韌體後出現don’t use rtc mem data錯誤或者ESP8266開啟串列埠不停出現亂碼的解決方案
ESP8266 WiFi Module 刷入韌體後出現don’t use rtc mem data 出現問題: 重新整理新的韌體後,出現錯誤提示:don’t use rtc mem data 或各種讀寫地址錯誤。 1、A fatal error occurred
路由器刷opwenwrt韌體和原廠韌體教程
本文所用的路由器型號為:linksys wrt1900ac v2(第一次寫部落格,竟然發現CSDN的部落格不能快速插入圖片,差評) 環境準備 網線插入路由器的網線介面,然後再由路由器的LAN介面
TP-LINK路由器WR703N刷openwrt韌體掛載USB攝像頭(上)
哈哈,折騰兩天,終於弄好了,先來張照片提提神。 Pc端,火狐,火狐,火狐瀏覽器(重要的事情說三遍。。。。。。。。) ios終端,5S的成像效果還是不錯的 新版的wr703n不支援web方式刷機,無論選擇什麼樣的.bin檔案,最後都會提示選擇的軟體版本和硬體不
ESP8266 01S 刷AT韌體庫
今天經歷了亂碼改變世界的想法, 刷完at韌體庫之後一直亂碼, 亂碼...... 後來才發現是flash選錯了 廢話不多說, 直接來下韌體吧,先貼一張esp8266 01s的美圖 刷韌體時 ESP8266
64位win10刷jlink韌體
前言 升級到keil5之後,提示jlink可以升級,無奈手賤點了升級,結果我的山寨jlink就成了磚頭了,從網上得知重刷jlink韌體可以使我的jlink與keil5一起工作,摸索了一段時間之後確實成功了,在這個過程中發現網上的教程參差不齊,讓我踩了不少坑,為
斐訊K1K2使用breed刷路由器韌體
本文以 斐訊K2 psg1218為例子,說明如何使用 breed 刷入 路由器的韌體 的故事。。。(K1,K2的刷入方式相同) breed 準備工作 1. 下載 breed 韌體 不同的路由器使用不同的 breed 韌體。斐訊K1 psg1208
斐訊K1&K2刷機韌體教程!最新最全整理版!(小米路由、newifi通用)
前瞻: 工具的準備:電腦安裝[telnet客戶端]、下載安裝(或解壓Tftpd)、WinPcap(這是用於BreedEnter可以正常開啟的元件,必須安裝,不安裝無法開啟BreedEnter)、BreedEnter。 原生的韌體:斐訊V1版本韌體,SW_K1_70300
newifi 3刷pandorabox韌體
一、刷機把路由器斷電,按住reset鍵並上電,直到橙色電源燈快閃後鬆開,開啟192.168.1.1頁面,上傳pandorabox韌體,刷機成功後進入登入頁面預設使用者名稱為root,密碼為admin二、設定撥號賬號三、修改密碼並開啟ssh四、設定DDNS五、設定軟體源地址最近
卡刷rom韌體update.zip的製作教程
對於第三方ROM來講,通常都包括兩部分,一個recovery image,一個update.zip。而大多數的第三方ROM的特色,就是加入了很多東西,比如superuser程式來獲得root許可權,busybox來擴充命令列下的功能,各種各樣的配置檔案或者小工具,比如預設
Pixhawk原生PX4韌體中的坑(2017.6.8TREE上的版本)
origin: http://www.cnblogs.com/fly2mato/p/6575556.html作為一名飛控開發的小學生:),最近入坑Pixhawk+PX4了。 基於Pixhawk硬體平臺進行二次開發,有兩
從db2資料庫讀取blob型別圖片資料並在前端頁面顯示
最近要寫一個需求,從db2中讀取圖片資料,blob型別,然後在前端頁面顯示,採用的是前後端分離的開發模式,使用下面這種方式,可以忽略前端,前端不需要動程式碼,就可直接顯示。。 直接上程式碼: sql:只給大家擷取關鍵部分,select xmlgroup(pe.Pict
Android與與伺服器交換資料、上傳、下載、讀取檔案
一些變數的定義: //需要將下面的IP改為伺服器端IP private String txtUrl = "http://192.168.1.46:8080/AppServer/SynTxtDataServlet"; private String url = "http://192.
HTML5 檔案域+FileReader 分段讀取檔案並上傳(八)-WebSocket
一、同時上傳多個檔案處理 HTML: <div class="container"> <div class="panel panel-default"> <div class="panel-head
HTML5 檔案域+FileReader 分段讀取檔案並上傳(七)-WebSocket
一、單檔案上傳例項 HTML: <div class="container"> <div class="panel panel-default"> <div class="panel-heading">分段讀取
HTML5 檔案域+FileReader 分段讀取檔案並上傳到伺服器(六)
說明:使用Ajax方式上傳,檔案不能過大,最好小於三四百兆,因為過多的連續Ajax請求會使後臺崩潰,獲取InputStream中資料會為空,尤其在Google瀏覽器測試過程中。 1.簡單分段讀取檔案為Blob,ajax上傳到伺服器 <div class="cont
HTML5 檔案域+FileReader 讀取檔案並上傳到伺服器(三)
一、讀取檔案為blob並上傳到伺服器 HTML <div class="container"> <!--讀取要上傳的檔案--> <input type="file" id="file" /> <input type="bu
QT讀取本地txt影象資料並在介面上顯示該影象
int pixel[180*1500]; int i=0; char filenametxt[150] = "inputimg.txt"; ifstream infile(filenametxt,ios::in); //測試檔案是否成功開啟 if(
python讀取excel指定列資料並寫入到新的excel
#encoding=utf-8 import xlrd from xlwt import * #------------------讀資料-------------------------------