esp8266单片机透传_基于WeMos D1(ESP8266)的校园卡门禁系统
一、項目背景
隨著網絡技術和嵌入式技術的發展,物聯網開始引領新一波熱潮。制作這個項目的想法起源于我的宿舍生活。每次進入宿舍都需要找鑰匙非常不方便,在網絡上看到關于智能門鎖的介紹,于是便想制作一個門禁系統,利用隨身攜帶的校園卡或者手機進行解鎖開門。
二、硬件平臺
根據項目目標,本項目硬件上有以下要求:
根據以上要求,項目選型如下
(一)開發板與wifi模塊
項目使用卡發版WeMos D1,其核心使用ESP-8266,具有11個I/O引腳,除D0引腳,均支持PWM、IIC、中斷等,具有1個模擬量輸入I/O。由于核心為ESP8266,因此具備wifi功能,可以在AP模式、station模式和混合模式下運行。符合要求。
項目開發使用arduino IDE,開發驗證簡單。
(二)射頻讀卡模塊
PN532是一個高度集成的非接觸讀寫芯片,它包含80C51微控制器內核,集成了13.56MHz下的各種主動/被動式非接觸通信方法和協議。支持SPI、IIC、UART通訊方式,支持校園卡標準,性價比高,適合本次項目開發。
本次使用該模塊的UART通信方式與單片機連接。
(三)舵機等
機械傳動部分使用舵機,選用90g舵機,其功率較小,可以使用單片機I/O直接驅動,扭矩能滿足拉開門鎖的要求。
三、開發環境
(一)開發板
WeMos D1開發板使用Arduino IDE進行開發,使用C++語言,面向對象的開發方式。
本次項目在windows平臺開發,使用Arduino IDE 1.8.5,調試使用串口獵人。系統串口通信運行在比特率115200、無校驗位、數據位8bit、停止位1bit狀態。
(二)終端控制平臺
由于本次使用HTML與架設在路由器內網的路由器進行通信,因此終端設備只需要支持HTML即可。手機等設備可以直接使用瀏覽器進行控制,因此項目的通用性很強。
(三)網絡環境
本系統在學校宿舍wifi環境下測試。我的宿舍使用小米路由器路由校園網絡。WeMos D1連接宿舍wifi后會被分配到內網ip,由于未做內網透傳并且沒有設計校園網登陸部分,因此只有同樣連接在宿舍wifi下的設備,才能對系統進行控制。
四、基本原理
(一)物聯網
物聯網是互聯網、傳統電信網等信息承載體,讓所有能行使獨立功能的普通物體實現互聯互通的網絡。隨著網絡的快速發展,越來越多的設備開始接入互聯網,為人們的生活帶來了極大的便利。
(二)射頻標簽
射頻識別,RFID(Radio Frequency Identification)技術,又稱無線射頻識別,是一種通信技術,可通過無線電訊號識別特定目標并讀寫相關數據,而無需識別系統與特定目標之間建立機械或光學接觸。
我們的校園卡是工作在13.56MHZ的IC非接觸式射頻卡,資料顯示,這種射頻卡有8KB儲存空間,分為16個扇區,每個扇區分為4個塊。序號從第0塊到第63塊,其中第0塊未加密,保存著射頻卡的序列號(UID),根據UID可以識別射頻卡。
(三)HTML 1.1
HTML是用來在Internet上傳送超文本的傳送協議,運行在TCP/IP協議簇之上的HTTP應用協議,它可以使瀏覽器更加高效,使網絡傳輸減少。使用此協議,可以很方便開發不同=平臺之間的文本傳輸。
(四)項目目標
本次設計計劃制作校園卡門禁系統,可以接入宿舍wifi,當識別到特定校園卡時,或者當使用手機發送固定內容時,控制舵機進行響應。
五、程序實現
程序流圖六、調試
本項目通過串口進行調試。串口打印狀態信息。
有兩種開鎖方式,掃描學生卡和網頁端控制。
我在程序中提前寫入了舍友的校園卡UID,當掃描到已知卡放在讀卡器上時,串口輸出“你好,XXX”,XXX為舍友的名字。此時舵機旋轉,表示拉動門鎖完成開門。
刷卡示意網頁端控制通過HTML1.1協議,可以在手機或電腦等終端運行。當系統以客戶端的形式接入宿舍的wifi時,路由器會分配一個局域網ip給ESP8266,如果統一局域網下的設備登陸“10.15.8.42/gpio/0”(10.15.8.42為分配的ip),相當于向設備發送gpio/0的信息,經過識別可以控制舵機運轉,同時ESP8266可以通過HTML1.1協議傳回一個信息,程序中設計的是傳回鎖頭狀態。
網頁端控制七、代碼
#if defined(ARDUINO) && ARDUINO >= 100 創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的esp8266单片机透传_基于WeMos D1(ESP8266)的校园卡门禁系统的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 重定向地址_JavaWeb - Serv
- 下一篇: oracle 测试库搭建,Oracle