資料介紹
描述
今天,互聯(lián)網(wǎng)是(日常)需要,用于消息傳遞、瀏覽、商務(wù)會(huì)議以及可以使用該技術(shù)完成的所有其他事情。在這里,我將分享使用 Arduino 測量溫度并通過 Arduino Ethernet shield 通過互聯(lián)網(wǎng)發(fā)送數(shù)據(jù)。為此,我將使用熱敏電阻 10K SEN 作為傳感器,使用 Arduino UNO R3 作為微控制器(將模擬數(shù)據(jù)轉(zhuǎn)換為數(shù)字?jǐn)?shù)據(jù)),使用 Arduino Ethernet shield 通過 LAN 電纜發(fā)送數(shù)據(jù),以及一個(gè)用于接收數(shù)據(jù)并顯示數(shù)據(jù)的簡單網(wǎng)絡(luò)服務(wù)器在 HTML 文件中。
所以,讓我們變臟吧

上圖是溫度測量的示意圖。將熱敏電阻的第一個(gè)引腳連接到 10K 電阻,第二個(gè)引腳連接到 Arduino 的 GND。10K 電阻的第一個(gè)引腳連接到 Arduino 5V 作為電源,第二個(gè)引腳連接到模擬輸入 0 (A0) Arduino。之后,我們可以在 Arduino 頂部附加以太網(wǎng)屏蔽,它具有完全相同的引腳。
以太網(wǎng)屏蔽應(yīng)使用 LAN 電纜,即 RJ45 電纜,通過 Internet 進(jìn)行通信。完成后,最后一個(gè)硬件步驟是使用 USB 電纜將 Arduino 與計(jì)算機(jī)連接起來。所以,項(xiàng)目的真實(shí)畫面應(yīng)該是這樣的。

硬件完成了,讓我們進(jìn)入有趣的部分:編碼!
為了使這個(gè)項(xiàng)目成功,將使用一些文件、文件夾和語言。第一個(gè)任務(wù)是對(duì) Arduino 進(jìn)行編碼以讀取模擬量,將其轉(zhuǎn)換為溫度值,然后將 HTTP POST 發(fā)送到服務(wù)器。
#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
}
重要部件
- 校準(zhǔn)結(jié)果:? NTC熱敏電阻的圖形電壓?與?電阻?方程。
- IP 地址:您可以使用 IP 地址或 DNS。注意您使用的端口。
- 端點(diǎn):在這個(gè)項(xiàng)目中,端點(diǎn)是http://167.205.43.205:3500/使用?HTTP POST?方法的結(jié)果。
- Content-Type:您可以使用我們的Postman或Insomnia 等 API 工具進(jìn)行驗(yàn)證。
在對(duì) Arduino 進(jìn)行編碼后,我們需要在該 IP 地址上創(chuàng)建一個(gè)網(wǎng)絡(luò)服務(wù)器(在本例中為 167.205.43.205)。在這個(gè)項(xiàng)目中,我使用了一個(gè)簡單的 ExpressJS 應(yīng)用程序和 MySQL 數(shù)據(jù)庫。示例代碼如下所示:
應(yīng)用程序.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 頁面,結(jié)果如下所示:

?
- Esmacat的EtherCAT Arduino Shield和Motor Shield教程
- Arduino坦克開源項(xiàng)目
- Arduino害羞面具開源項(xiàng)目
- Arduino Uno LoRa RA-02溫度傳感器開源項(xiàng)目
- Esmacat的EtherCAT Arduino Shield和LCD Shield教程
- RFID Shield與Arduino接口
- Arduino項(xiàng)目LAMPIXEL開源
- Arduino UNO LED項(xiàng)目開源
- Arduino Uno Relay Shield 3通道開源
- 元件測試儀UNO Shield開源項(xiàng)目
- Shield Arduino程序員ISP ATtiny 85開源
- 西蒙說Arduino Uno Shield開源項(xiàng)目
- ADE9000 Arduino Shield Evaluation Software
- ADE9000 Arduino Shield Design Files
- ADE9000 Arduino Shield Evaluation Software
- Arduino模組的KiCad符號(hào)與封裝庫介紹 2046次閱讀
- 關(guān)于FPGA的開源項(xiàng)目介紹 1523次閱讀
- 如何使用Python和PinPong庫控制Arduino 1033次閱讀
- 怎么上手 PR 流程?如何開始參與開源項(xiàng)目? 1634次閱讀
- 如何從網(wǎng)頁控制arduino? 4186次閱讀
- 微雪電子Arduino IO擴(kuò)展板簡介 3673次閱讀
- 微雪電子Arduino 音頻播放擴(kuò)展板簡介 2128次閱讀
- dfrobotLED Keypad Shield 數(shù)碼管擴(kuò)展板簡介 1692次閱讀
- dfrobotPower Shield擴(kuò)展板簡介 1875次閱讀
- dfrobotScrew Shield接線柱擴(kuò)展板簡介 1725次閱讀
- dfrobotUSB Host Shield主機(jī)擴(kuò)展板簡介 3326次閱讀
- Arduino Ethernet擴(kuò)展板產(chǎn)品介紹(意大利原裝正版) 5314次閱讀
- 全年開源項(xiàng)目的盤點(diǎn)和總結(jié) 3363次閱讀
- arduino開發(fā)板有什么用 2.1w次閱讀
- 11個(gè)機(jī)器學(xué)習(xí)開源項(xiàng)目 2829次閱讀
下載排行
本周
- 1PFC電路與BOOST電路設(shè)計(jì)實(shí)例分享
- 1.83 MB | 12次下載 | 4 積分
- 2世平基于靈動(dòng)微 SPIN560C 的低壓無刷電機(jī)應(yīng)用方案
- 10.93 MB | 11次下載 | 免費(fèi)
- 3電源測試報(bào)告-基于 國民技術(shù) N32L406 和杰華特 JW3376+3330 的 BMS 方案
- 6.47 MB | 11次下載 | 免費(fèi)
- 4PWM控制器的控制方法
- 0.39 MB | 3次下載 | 4 積分
- 5電流檢測芯片F(xiàn)P135應(yīng)用說明
- 1.24 MB | 3次下載 | 免費(fèi)
- 6全面解讀被動(dòng)式與主動(dòng)式PFC電路
- 1.27 MB | 1次下載 | 4 積分
- 7HC88L051F4低功耗芯片規(guī)格書
- 4.76 MB | 1次下載 | 免費(fèi)
- 8CIU32D655x5數(shù)據(jù)手冊(cè)
- 2.14 MB | 1次下載 | 免費(fèi)
本月
- 1常用電子元器件使用手冊(cè)
- 2.40 MB | 52次下載 | 免費(fèi)
- 2高功率密度碳化硅MOSFET軟開關(guān)三相逆變器損耗分析
- 2.27 MB | 33次下載 | 10 積分
- 3PFC電路與BOOST電路設(shè)計(jì)實(shí)例分享
- 1.83 MB | 12次下載 | 4 積分
- 4世平基于靈動(dòng)微 SPIN560C 的低壓無刷電機(jī)應(yīng)用方案
- 10.93 MB | 11次下載 | 免費(fèi)
- 5電源測試報(bào)告-基于 國民技術(shù) N32L406 和杰華特 JW3376+3330 的 BMS 方案
- 6.47 MB | 11次下載 | 免費(fèi)
- 6USB拓展塢PCB圖資料
- 0.57 MB | 11次下載 | 免費(fèi)
- 7MS1826 HDMI 多功能視頻處理器數(shù)據(jù)手冊(cè)
- 4.51 MB | 9次下載 | 免費(fèi)
- 8HAL9303線性霍爾效應(yīng)傳感器技術(shù)手冊(cè)
- 0.70 MB | 9次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935134次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計(jì)
- 1.48MB | 420064次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233089次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191424次下載 | 10 積分
- 5十天學(xué)會(huì)AVR單片機(jī)與C語言視頻教程 下載
- 158M | 183352次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81600次下載 | 10 積分
- 7Keil工具M(jìn)DK-Arm免費(fèi)下載
- 0.02 MB | 73818次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65991次下載 | 10 積分
電子發(fā)燒友App






創(chuàng)作
發(fā)文章
發(fā)帖
提問
發(fā)資料
發(fā)視頻
上傳資料賺積分
評(píng)論