資料介紹
描述
今天,互聯網是(日常)需要,用于消息傳遞、瀏覽、商務會議以及可以使用該技術完成的所有其他事情。在這里,我將分享使用 Arduino 測量溫度并通過 Arduino Ethernet shield 通過互聯網發送數據。為此,我將使用熱敏電阻 10K SEN 作為傳感器,使用 Arduino UNO R3 作為微控制器(將模擬數據轉換為數字數據),使用 Arduino Ethernet shield 通過 LAN 電纜發送數據,以及一個用于接收數據并顯示數據的簡單網絡服務器在 HTML 文件中。
所以,讓我們變臟吧
上圖是溫度測量的示意圖。將熱敏電阻的第一個引腳連接到 10K 電阻,第二個引腳連接到 Arduino 的 GND。10K 電阻的第一個引腳連接到 Arduino 5V 作為電源,第二個引腳連接到模擬輸入 0 (A0) Arduino。之后,我們可以在 Arduino 頂部附加以太網屏蔽,它具有完全相同的引腳。
以太網屏蔽應使用 LAN 電纜,即 RJ45 電纜,通過 Internet 進行通信。完成后,最后一個硬件步驟是使用 USB 電纜將 Arduino 與計算機連接起來。所以,項目的真實畫面應該是這樣的。
硬件完成了,讓我們進入有趣的部分:編碼!
為了使這個項目成功,將使用一些文件、文件夾和語言。第一個任務是對 Arduino 進行編碼以讀取模擬量,將其轉換為溫度值,然后將 HTTP POST 發送到服務器。
#include 'Ethernet.h'
#include 'SPI.h'
byte mac[] = { 0x00, 0xAA, 0xBB, 0xCC, 0xDE, 0x01 }; // RESERVED MAC ADDRESS
EthernetClient client;
long previousMillis = 0;
unsigned long currentMillis = 0;
long interval = 3000; // READING INTERVAL
float p = 0.00;
String data;
void setup() {
Serial.begin(9600);
if (Ethernet.begin(mac) == 0) {
Serial.println("Failed to configure Ethernet using DHCP");
}
delay(10000); // GIVE THE SENSOR SOME TIME TO START
}
void loop(){
currentMillis = millis();
if(currentMillis - previousMillis > interval) { // READ ONLY ONCE PER INTERVAL
previousMillis = currentMillis;
p = (float) analogRead(A0) * (5.0 / 1023.0); // CONVERT TO ARDUINO READABLE VALUE;
p = (float) -7.58 * p + 27.309; // CALIBRATION RESULT
}
data = "potentio=";
data = data + p;
if (client.connect("167.205.43.205",3500)) { // REPLACE WITH YOUR SERVER ADDRESS
client.println("POST /results HTTP/1.1"); // HTTP POST TO /results
client.println("Host: 167.205.43.205:3500"); // SERVER ADDRESS HERE TOO
client.println("Content-Type: application/x-www-form-urlencoded"); // DATA TYPE
client.print("Content-Length: ");
client.println(data.length());
client.println();
client.print(data);
}
if (client.connected()) {
client.stop(); // DISCONNECT FROM THE SERVER
}
delay(5000); // 5 SECONDS DELAY
}
重要部件
- 校準結果:? NTC熱敏電阻的圖形電壓?與?電阻?方程。
- IP 地址:您可以使用 IP 地址或 DNS。注意您使用的端口。
- 端點:在這個項目中,端點是http://167.205.43.205:3500/使用?HTTP POST?方法的結果。
- Content-Type:您可以使用我們的Postman或Insomnia 等 API 工具進行驗證。
在對 Arduino 進行編碼后,我們需要在該 IP 地址上創建一個網絡服務器(在本例中為 167.205.43.205)。在這個項目中,我使用了一個簡單的 ExpressJS 應用程序和 MySQL 數據庫。示例代碼如下所示:
應用程序.js
app.post('/results', function(req, res){
var post = {}
post.date = new Date(),
post.temp = req.body.temp
sql.query('INSERT INTO analog_read SET ?', post, function(err, results, fields){
if(err) throw err;
console.log('sent success with value : ', post.temp)
res.json({'status':'success!'})
})
})
并將其顯示到 HTML 頁面,結果如下所示:
?
- Esmacat的EtherCAT Arduino Shield和Motor Shield教程
- Arduino坦克開源項目
- Arduino害羞面具開源項目
- Arduino Uno LoRa RA-02溫度傳感器開源項目
- Esmacat的EtherCAT Arduino Shield和LCD Shield教程
- RFID Shield與Arduino接口
- Arduino項目LAMPIXEL開源
- Arduino UNO LED項目開源
- Arduino Uno Relay Shield 3通道開源
- 元件測試儀UNO Shield開源項目
- Shield Arduino程序員ISP ATtiny 85開源
- 西蒙說Arduino Uno Shield開源項目
- ADE9000 Arduino Shield Evaluation Software
- ADE9000 Arduino Shield Design Files
- ADE9000 Arduino Shield Evaluation Software
- Arduino模組的KiCad符號與封裝庫介紹 1508次閱讀
- 如何使用Python和PinPong庫控制Arduino 718次閱讀
- 優秀的IC/FPGA開源項目:偽紅外圖像處理 1949次閱讀
- 怎么上手 PR 流程?如何開始參與開源項目? 1470次閱讀
- 如何從網頁控制arduino? 3836次閱讀
- 微雪電子Arduino IO擴展板簡介 3439次閱讀
- 微雪電子Arduino 音頻播放擴展板簡介 1862次閱讀
- dfrobotLED Keypad Shield 數碼管擴展板簡介 1543次閱讀
- dfrobotPower Shield擴展板簡介 1731次閱讀
- dfrobotScrew Shield接線柱擴展板簡介 1571次閱讀
- dfrobotUSB Host Shield主機擴展板簡介 3046次閱讀
- Arduino Ethernet擴展板產品介紹(意大利原裝正版) 5122次閱讀
- 全年開源項目的盤點和總結 3231次閱讀
- arduino開發板有什么用 2w次閱讀
- 11個機器學習開源項目 2767次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數據手冊
- 1.06 MB | 532次下載 | 免費
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費
- 3TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費
- 5元宇宙深度解析—未來的未來-風口還是泡沫
- 6.40 MB | 227次下載 | 免費
- 6迪文DGUS開發指南
- 31.67 MB | 194次下載 | 免費
- 7元宇宙底層硬件系列報告
- 13.42 MB | 182次下載 | 免費
- 8FP5207XR-G1中文應用手冊
- 1.09 MB | 178次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 2555集成電路應用800例(新編版)
- 0.00 MB | 33566次下載 | 免費
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費
- 4開關電源設計實例指南
- 未知 | 21549次下載 | 免費
- 5電氣工程師手冊免費下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費
- 6數字電路基礎pdf(下載)
- 未知 | 13750次下載 | 免費
- 7電子制作實例集錦 下載
- 未知 | 8113次下載 | 免費
- 8《LED驅動電路設計》 溫德爾著
- 0.00 MB | 6656次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費
- 2protel99se軟件下載(可英文版轉中文版)
- 78.1 MB | 537798次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191187次下載 | 免費
- 7十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183279次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138040次下載 | 免費
評論
查看更多