Trong xu thế hội nhập toàn cầu, đất nước ta đang bước vào giai đoạn thực hiện công nghiệp hóa hiện đạihóa, bất cứ ngành nghề kỹthuật nào cũng cần đến tự động hóa,khôngthểkhôngnóiđếnviđiề
Lýdochọnđềtài
Cuộc cách mạng đầu tiên là cách mạng với động cơ đốt trong trong khoảng thế kỷ 18 đênđầuthếkỷ19,xuấtpháttừnướcAnh,sauđólanrộngratoànthếgiới.Cácđộngcơhơi nước là dạng nguyên thủy đầu tiên của cuộc cách mạng 1.0 thời bấy giờ.
Cuộc cách mạng thứ 2: Cuộc cách mạng động cơ điện: Khoảng những năm (1871- 1914)vớisựxuấthiệncácngành;Hóachất,dầumỏ,thép,điệnlực.Cácđộngcơđốttrong, động cơ điện là đại diện tiêu biểu của giai đoạn này.
Cuộccách mạngthứ3:Bắtđầukhoảngnhữngnăm1960vớisựxuất hiệncủaInternet; máytính;tựđộnghóa.Cáchmạngcôngnghiệp3.0đãthayđổihầuhếtcáchconngườilàm việc, giao tiếp và kinh doanh.
Cuộccáchmạngthứ4:Cáchmạng4.0sẽdiễnratrên3lĩnhvựcchínhgồmCôngnghệ sinh học, Kỹ thuật số và Vật lý Trong đó, những yếu tố cốt lõi của Kỹ thuật số sẽ là: Trí tuệ nhân tạo (AI), Vạn vật kết nối – Internet of Things (IoT) và dữ liệu lớn (Big Data).
Trong xã hội ngày nay, cùng với sự tiến bộ của Khoa Học – Kỹ Thuật, cuộc sống con người trở nên đầyđủ và tiền nghi hơn, lương của cải vật chất củng được tạo ra nhiều hơn.
Dođó,việc bảovề và giữ gìntàisảnđược đặtra rấtcầnthiết.Để giảiquyếtvấnđề đó, conngười đã thiết kếracáchệthốngchốngtrộmtựđộngpháthiện, cảnhbáo và chống lại sự xâm nhập của các thành phần xấu, giữ gìn tài sản được an toàn Và giám sát hệ chống chống trên điện thoai hoặc máy tính.
Với vốn kiến thức của mình, em sẽ giới thiệu và trình bày đề tài hệ thống chống trộm sử dụng Arduino điều kiển bằng Raspberry Pi.
Mụctiêu
- Thiết kế hệ thống giám sát và điều khiển bằng giao diện Node-Red được điều khiển bằng Raspberry Pi.
Phạmviđềtài
Nghiên cứu phần cứng mô hình hệ thống chống trộm Hệ thống được điều khiển bằng Arduino và giám sát hệ thống thông qua giao diện Node-Red bằng Raspberry Pi.
Hệ thống là một mô hình đơn giản và mang tính chất thí nghiệm, chưa có những tính năng phức tạp.
Phươngpháp
- Phương pháp nguyên cứu tài liệu Tìm tài liệu trên mạng, báo, đài điện tử, giáo trình để đề tài nghiên cứu được hoàn thiện hơn.
RaspberryPi3modelB+
Giớithiệuchung
RaspberryPi là từ để chỉ cácmáytính chỉ có một board mạch(haycòn gọi là máytính nhúng) kích thước chỉ bẳng một thẻ tín dụng, được phát triển tại Anh bởiRaspberry PiFoundationvới mục đích ban đầu là thúc đẩy việc giảng dạyvề khoa học máytính cơ bản trong các trường học và các nước đang phát triển.
RaspberryPisảnxuấtbởi3OEM:Sony,Qsida,Egoman.Vàđượcphânphốichínhbởi Element14,
MáytínhRaspberryPi3ModelB+là boardmạch máytínhnhúngđượcsửdụngnhiều nhất hiện nay, ngoài việc sử dụng để hệ điều hành Linux hoặc Windows 10 IoT, máy còn có khả năng xuất tín hiệu ra 40 chân GPIO có thể giao tiếp và điểu khiển vô số các board mạch phần cứng khác để thực hiện vô số các ứng dụng khác nhau.
Máytính Raspberry Pi 3 Model B+ với quy trình gia công và linh kiện chất lượng cao đảmbảochoviệcchạybềnbỉvàlâudài,máycókíchthướcnhỏgọn,giáthànhphảichăng, cáchsửdụngdễdàng,chỉcầncàihệđiềuhànhvàothẻnhớvàcấpnguồnlàcóthểsửdụng.
MáytínhRaspberryPi3ModelB+cócộngđồngsửdụngrấtlớntrênthếgiới,đâychính làưuđiểmlớnnhấtcủaRaspberryPi,cóthểtìmnguồntàiliệucũngnhưhỗtrợrấtdễdàng trên Google hoặc trang chủRaspberry Pi.
RaspberryPi3ModelB+làsảnphẩmmớinhấttronggiađìnhRaspberryPi,nổibậtvới chip4nhân64- bitcótốcđộ1.4GHz–nhanh nhấttừtrướcđếnnay Phiênbảnmớicònhỗ trợWifiDual- band2.4GHzvà5GHz,Bluetooth4.2/BluetoothLowEnergy,cổngEthernet tốc độ cao (300Mbps) và Power over Ethernet (PoE) thông qua PoE HAT.
RaspberryPI3ModelB+còncóPoweroverEthernet(PoE)giúpcungcấpnguồnđiện cho thiết bị thông qua dây cắm Ethernet nhưng phải thông qua một HAT mở rộng.
Ngoài những nâng cấp trên thì ngoại hình và kích thước Model B+ vẫn yhệt Model B nên hoàn toàn tương thích với mọicasevàphụ kiệntrước đây dành cho Model B.
- Raspbian:OSchínhthức,giaodiệngiốngnhưWindows/Mac/Linux.
Cấuhìnhphầncứng
-Vixửlý:BroadcomBCM2837B0,quad-coreA53(ARMv8)64-bitSoC@1.4GHz
- RAM: 1GB LPDDR2 SDRAM.- Kết nối: 2.4GHz and 5GHz IEEE 802.11b/g/n/ac wireless LAN, Bluetooth 4.2, BLE, Gigabit Ethernet over USB 2.0 (Tối đa 300Mbps)
-Videovàâmthanh:1 cổngfull-sizeHDMI,CổngMIPIDSIDisplay, cổngMIPICSI
Camera, cổng stereo output và composite video 4 chân.
- Multimedia: H.264, MPEG-4 decode (1080p30), H.264 encode (1080p30); OpenGL
- Nguồn điện sử dụng: 5V/2.5A DC cổng microUSB, 5V DC trên chân GPIO, Power over Ethernet (PoE).
KếtnốicủaRaspberryPi
Khecắmthẻ nhớ: sửdụngloạithẻSDCard,đâylànơilưutrữhệđiềuhànhvàtấtcả các dữ liệuhoạt độngcủaRaspberryPi.Dung lượngcủa thẻ nhớ phải từ 4GBtrởlênđể đảm bảo cho hệ thống hoạt động tốt.
MicroUSBPower:RPicóthểsửdụngđến700mAtạimứcáp5Vkhibạnsửdụngnhiều thiết bị USB và cổng LAN.
Raspberrymộtcáchtrựcquannhất.Chúngtacóthểthựchiệncáctác vụtươngđươngnhư khi sử dụng chuột và bàn phím.
Cameraexpansion:KhecắmmodemcameravàoRaspberryPi.KhisảnxuấtRaspberry Pi thì nhà sản xuất còn sản xuất thêm một modem camera 5MP nhưng người mua không được hỗ trợ mà phải mua thêm Chúng ta có thể chụp hình, quay phim, làm việc tất cả các tác vụ như trên một camera bình thường.
Cổng HDMI: cổng nàydùng để kết nối với các thiết bị có hổ trợ chuẩn kết nối HDMI, nếuthiếtbịcủachúngtakhônghổtrợHDMImàchỉhổtrợVGAthìchúngtaphảisửdụng mộtdâycápchuyểnđổitừHDMIsangVGA.Thườngthìcổngnàydùngđểkếtnốiramàn hình, tivi, máy chiếu,đ ể h i ể n t h ị g i a o d i ệ n c ủ a h ệ đ i ề u h à n h
Cổng USB: dùng để kết nối với chuột, bàn phím, USB, và các thiết bị có hổ trợ cổngUSB.
STEREO AUDIO: dùng để kết nối với tai nghe, loa, và các thiết bị ân thanh có cổng Jack 3.5mm.
GPIO: Raspberry Pi cung cấp nhiều cổng GPIO, giao tiếp SPI, I2C, Serial Các cổng GPIO được sử dụngđể xuất/nhận giátrị 0/1ra/vàotừ bên ngoài.Giao tiếpSPI,I2C,Serial có thể được dùng để kết nối trực tiếp với các vi điều khiển khác Đặc biệt phù hợp cho những ai cần điều khiển các thiết bị điện tử ngoại vi.
-Raspberry Pi 3 Model B+ cần nguồn điện ổn định 5VDC từ 2.5A trở lên, nếu nguồn khôngổnđịnh,sụtáphoặckhôngđủcôngsuấtsẽdẫnđếncháyCPUhoặcchipđiềukhiển Ethernet – USB.
Máytính RaspberryPi 3 Model B+ ngoài việc sử dụng như một máytính bình thường còn có thể giao tiếp qua các chân GPIO, xin lưu ý là các chân này nối trực tiếp vào CPU chính và không có bất cứ tầng đệm hay cách ly nào.
ArduinoUnoR3
Giớithiệuchung
ArduinoUnoR3 làloạiphổ biếnvà dễ sử dụngnhấttrongcác dòng Arduino hiệnnay, cũng như tương thích với nhiều loại Arduino Shield nhất, Arduino Uno R3 hiện nay đã được biết đến một cách quen thuộc tại Việt Nam, và trên thế giới thì nó đã quáp h ổ b i ế n
S ứ c mạnhcủachúngngàycàngđược chứngtỏtheothờigianvớivôvàncácứngdụngmở (open source) độc đáo được chia sẻ rộng rãi.
Arduino Uno R3 có thể ứng dụng vào những mạch đơn giản như mạch cảm biến ánh sángbậttắtđèn,mạchđiềukhiểnđộngcơ,…hoặccaohơnnữacóthểlàmnhữngsảnphẩm như:máyin3D,Robot,khinhkhícầu,máybaykhôngngườilái,vàcácứngdụnglớnkhác.
Arduino Uno R3 thực sự đã gây sóng gió trên thị trường người dùng DIY (là những người tự chế ra sản phẩm của mình) trên toàn thế giới trong thời gian gần đây Số lượng ngườidùngcựclớnvàđadạngvớitrìnhđộtrảirộngtừbậcphổthônglênđếnđạihọcthậm chílànhữngtrườngđại học nổitiếngtrên thế giớivà đã làmcho ngaycả nhữngngười tạo ra chúng phải ngạc nhiên về mức độ phổ biến.
Board mạch Arduino sử dụng dòng vi xử lý 8-bit mega AVR của Atmel với hai chip phổ biến nhất là ATmega328 và ATmega2560 Các dòng vi xử lý này cho phép lập trình các ứng dụng điều khiển phức tạp do được trang bị cấu hình mạnh với các loại bộ nhớROM, RAM và Flash, các ngõ vào ra digital Input/Output trong đó có nhiều ngõ có khả năng xuất tín hiệu PWM, các ngõ đọc tín hiệu analog và các chuẩn giao tiếp đa dạng nhưUART, SPI, TWI (I2C).
Cấuhìnhphầncứng
-Bộnhớflash:32KB(ATmega328)với0.5KBdùngbởibootloader.
Arduino UNO có 14 chân digital dùng để đọc hoặc xuất tín hiệu Chúng chỉ có 2 mức điệnáplà0V và5Vvớidòngvào/ra tốiđatrênmỗichânlà 40mA Ở mỗichânđềucócác điện trở pull-up từ được cài đặt ngay trong vi điều khiển ATmega328 (mặc định thì các điện trở này không được kết nối).
-2chânSerial0(RX)và1(TX):dùngđểgửi(Transmit–TX)vànhận(Receive–RX) dữ liệu TTL Serial Arduino Uno có thể giao tiếp với thiết bị khác thông qua 2 chân này Kết nối bluetooth có thể nói là kết nối Serial không dây Nếu không cần giao tiếp Serial không nên sử dụng 2 chân này nếu không cần thiết.
-LED13:trênArduinoUNOcó1đènledmàucam(kíhiệuchữL).KhibấmnútReset, sẽ thấy đèn này nhấp nháy để báo hiệu Nó được nối với chân số 13 Khi chân này được người dùng sử dụng, LED sẽ sáng.
- Chân PWM (~): 3, 5, 6, 9, 10, và 11: Cho phép xuất ra xung PWM với độ phân giải 8bit(giá trị từ 0→28-1tương ứngvới0V→ 5V) bằnghàmanalogWrite() Nói mộtcách đơn giản, có thể điều chỉnh được điện áp ra ở chân này từ mức 0V đến 5V thay vì chỉ cố định ở mức 0V và 5V như những chân khác.
-ChângiaotiếpSPI:10(SS),11(MOSI),12(MISO),13(SCK).N g o à i cácchứcnăng thôngthường,4chânnàycòndùngđểtruyềnphátdữliệubằnggiaothứcSPIvớicácthiết bị khác.
- Arduino UNO có 6 chân analog (A0 → A5) cung cấp độ phân giải tín hiệu 10bit để đọc giá trị điện áp trong khoảng 0V → 5V Với chân AREF trên board, có thể để đưa vào điện áp tham chiếu khi sử dụng các chân analog Tức là nếu ta cấp điện áp 2.5V vào chân nàythìcóthểdùngcácchânanalogđểđođiệnáptrongkhoảngtừ0V→ 2.5Vvớiđộphân giải vẫn là 10bit.
-Đặc biệt, Arduino UNO có 2 chân A4 (SDA) và A5 (SCL) hỗ trợ giao tiếp I2C/TWI với các thiết bị khác.
-Cácthiếtbịdựatrên nềntảngArduinođược lậptrìnhbằngngônriêng.Ngônngữnày dựa trên ngôn ngữ Wiringđược viết cho phần cứngnói.Và Wiringlạilà mộtbiếnthể của C/C++ Một số người gọi nó là Wiring, một số khác thì gọi là C hay C/C++ Ngôn ngữ Arduino bắt nguồn từ C/C++ phổ biến hiện nay do đó rất dễ học, dễ hiểu.
-Đểlậptrìnhcũng như gửilệnhvànhậntínhiệutừ mạch Arduino,nhómpháttriểndự án này đã cũng cấp đến cho người dùng một môi trường lập trình Arduino được gọi là ArduinoIDE (Intergrated Development Environment) như hình dưới đây.
-ArduinoUNOkhôngcóbảovệcắmngượcnguồnvào.Dođótaphảihếtsứccẩnthận, kiểmtracáccựcâm,dươngcủanguồntrướckhicấpchoArduinoUno.Việclàmchậpmạch nguồn vào của Arduino Uno sẽ biến nó thành một miếng nhựa chặn giấy Ta nên dùng nguồn từ cổng USB nếu có thể.
-Các chân 3.3V và 5V trên Arduino là các chân dùng để cấp nguồn ra cho các thiết bị khác, không phải là các chân cấp nguồn vào Việc cấp nguồn sai vị trí có thể làm hỏng board Điều này không được nhà sản xuất khuyến khích.
-CấpnguồnngoàikhôngquacổngUSBchoArduinoUNOvớiđiệnápdưới6Vcóthể làm hỏng board.
- Cấp điện áp trên 13V vào chân RESET trên board có thể làm hỏng vi điều khiểnATmega328.
-Cườngđộdòngđiệnvào/raởtấtcảcácchânDigitalvàAnalogcủa ArduinoUnonếu vượt quá 200mA sẽ làm hỏng vi điều khiển.
-Cấpđiệpáptrên5.5VvàocácchânDigitalhoặcAnalogcủaArduinoUnosẽlàmhỏng vi điều khiển.
-Cường độ dòng điện qua một chân DigitalhoặcAnalogbấtkì của Arduino Uno vượt quá 40mA sẽ làm hỏng vi điều khiển Do đó nếu không dùng để truyền nhận dữ liệu, phải mắc một điện trở hạn dòng.
Cảmbiếnthânnhiệtchuyểnđộng(PIRHC-SR501)
Giớithiệuchung
CảmbiếnthânnhiệtchuyểnđộngPIR(Passiveinfraredsensor)HC-SR501đượcsửdụng đểpháthiệnchuyểnđộngcủacácvậtthểphátrabứcxạhồngngoại,cảmbiếncóthểchỉnh được độ nhạy để giới hạn khoảng cách bắt xa gần cũng như cường độ bức xạ của vật thể mong muốn, ngoài ra cảm biến còn có thể điều chỉnh thời gian kích trễ qua biến trở tích hợp sẵn.
Sơđồchân
Nguyênlýhoạtđộng
Các nguồnnhiệt(với ngườivà convật lànguồnthân nhiệt) đềuphát ra tia hồngngoại,quakínhFresnel,quakíchlọclấytiahồngngoại,nóđượcchotiêutụtrên2cảmbiếnhồng ngoại gắn trong đầu dò, và tạo ra điện áp được khuếch đại với transistor FET Khi có một vậtnóngđingangqua,từ2cảmbiếnnàysẽchoxuấthiện2tínhiệuvàtínhiệunàysẽđược khuếch đại để có biên độ đủ cao và đưa vào mạch so áp để tác động vào một thiết bị điều khiển hay báo động.
Thôngsốkỹthuật
ModuleRelay1kênh5V
Giớithiệuchung
ModulesửdụngRelaytốt,đảmbảohoạtđộngổnđịnh,lâudài.Trênmodulecóoptođể cách lydòngngược về, hiệu suất ổn định Có thể set các mức caothấpbằng cách thiết lập jumper trên module Có Led báo nguồn màu xanh, Led báo trạng thái Relay màu đỏ Kết nối module với mạch điều khiển đơn giản.
Sơđồchân
Thôngsốkỹthuật
-Kíchthước:1.97inx1.02inx0.75in(5.0cmx2.6cmx1.9cm).
Đènbáo
Giớithiệuchung
Bóng đènCompactchữUdùngđuôi E27-tương thíchtấtcảcácloạiđuôiđèncósẵn. Tuổithọbóngcao,antoàn,dễlắpđặtvàsửdụng.
Thôngsốkỹthuật
Còibáo
Giớithiệuchung
CòibáođộngFM-20B,làloạicòithôngdụnggiárẻthườngđượcápdụngchocácthiết bị báo động nhà ở hoặc mục đích nguyên cứu học tập,…
Thôngsốkỹthuật
NguồnUSBChoRaspberry
Giớithiệuchung
Nguồn USB cho máy tính nhúng 5V 2.5A được sử dụng để cấp nguồn cho các board mạchmáytínhnhúng,máytínhMinicótốcđộxửlývàhiệusuấtngàycàngnângcaohiện nay như: Raspberry Pi 3, Orange Pi, Nano Pi,
Nguồn USB có chất lượng tốt, có điện áp đầu ra 5VDC và dạng đầu ra cổng USB với dòng cung cấp lên đến 2.5A (test thực tế cho dòng lên đến 3A mà không bị sụt áp).
Nguồn có chất lượng linh kiện tốt, độ bền cao, là sự lựa chọn thích hợp cho các board mạch máy tính nhúng hiện nay.
Thôngsốkỹthuật
Giớithiệuchung
Node-Red được dựa trên Node.js, có thể được xem như một web server mà có thể cấu hình tùy chỉnh các chức năng gọi là “Flow” từ bất kỳ trình duyệt nào trên máy tính.
MỗiứngdụngNode-Redbaogồmcác nodecóthểliênkếtđược vớinhauvớicácdạng là Input, Output và Operation.
VớiNode-Redtacóthểhìnhdungcáchtươngtácvàgiaotiếpvớicácthiếtbịmộtcách tổng quan như hình 3.2 Ở đây máy tính của mình sẽ đóng vai trò là Server và Client.
Nếu dùng RaspberryPi thì thiết bị nàysẽ đóng vai trò là Server, còn lại máytính sẽ là Client như hình 3.3.
CàiđặtNode-Red
TảiNode.jstạitrangwebhttps://nodejs.org/en/download/vàcàiđặt.
VàocửasổRun,sauđógõ“CMD”,nhấnphímEnter,sauđógõ“npminstall-g–unsafe- perm node-red”.
Vào cửa sổ Run , gõ “CMD”, nhấn phím Enter, gõ “Node-Red” Để khởi động Node- Red Kết quả nhận được.
Hình 3.4.Saukhi càiđặt vàkhởi động Node-Red ĐểtruycậpvàoNode-Red.VàoGoogleChrome,truycậpNode-Redởđườngdẫnhttp:// 127.0.0.1:1880/
-Bước1:Thựchiệnkéothả3khốigồm2Inputvà1Ouput.
+ Thiết lập khối lệnh Input 1 Chọn Payload tín hiệu gửi đi là TRUE Đặt tên cho khối lệnh là “Input 1”.
+ThiếtlậpkhốilệnhInput2.ChọnPayloadtínhiệugửiđilàFALSE.Đặttêncho khối lệnh là
+ThiếtlậpkhốilệnhOuput.Đặttênchokhốilệnhlà“Ouput”cácthiếtlậpkhácgiữ mặc định.
Bước3:ChọnDeploy, đ â y giốngn h ư q uá trìnhbuildtronglập t r ì n h Cvàquansát debug.
CàiđặtNode-RedDashboard
Node-Red có hỗ trợ giao diện Dashboard Để cài đặt Dashboard cho Node-Red Vàoc ử a sổRun,gõ“CMD”,sauđónhấnphímEnter,tiếptụcgõ“npminode-red-dashboard”. VídụvớiDashboard:
Tiếp tục cải tiến ví dụ trên, thêm 2 nút nhấn và kiểm tra trạng thái hiển thị 2 nút nhấn trên giao diện Dashboard.
- Bước 1: Thực hiện kéo thả 3 khối gồm 2 button để thayđổi trạng thái, 1 text để hiện giá trị hiện tại nút nhấn.
+ThiếtlậpkhốilệnhInput1.ChọnGrouphiểnthịgiaodiệnDashboardlà“Vidu”.Chọn Payload gửi đi là
“true” Đặt tên cho khối lệnh là “Input1”.
+ThiếtlậpkhốilệnhInput2.ChọnPayloadgửiđilà“false”.ChọnGrouphiểnthịgiao diện Dashboard là “Vidu” Đặt tên cho khối lệnh là “Input2”.
+ThiếtlậpkhốilệnhOutput.ChọnGrouphiểnthịgiaodiệnDashboardlà“Vidu”.Đặt tên cho khối lệnh là “Output”.
- Bước3:ChọnDeploy,tatruycậpvàogiaodiệnDashboard.VàoGoogleChromevào đường dẫnhttp://127.0.0.1:1880/ui
CàiđặtthưviệnArduinochoNode-Red
Vào cửa sổ Run, gõ “CMD”, sau đó nhấn phím Enter, tiếp tục gõ “npm install node- red-node-arduino”.
Sau khi cài đặt xong, khởi động lại Node-Red Vào Google Chrome truy cập vào địac h ỉhttp://127.0.0.1:1880/sẽ xuất hiện các khối lệnh Arduino.
BảomậtchoNode-Red
Để đảm bảo bảo mật cho Node-Red của cá nhân Chỉ có những người có liên quan có thể đăng nhập vào trang Node-Red.
Bước1:VàocửasổRun,sauđógõ“CMD”,nhấnphímEnter,sauđógõ“npminstall- g node-red- admin”.
Bước 2: Sau khi cài đặt xong tạo mặt khẩu hash password Vào gõ “CMD”, gõ “node- red-admin hash-pw”, sau đó nhập Password:quocnhu Xuất hiện đoạn mã Password là“$2b$08$QDyxubbhD2RY8V3zG0w3DOaBN8Ca1PSvse2xOc87vdGmBVxWhxrDO”
- Kéo đến khối adminAuth xóa các kí tự “//” trước mỗi line Đổi phần username nếum u ố n , c o p y v à p a s t e h a s h p a s s w o r d l à đ ã t ạ o ở b ư ớ c t r ê n v à o
Vào Google Chrome truycập vào địa chỉhttp://127.0.0.1:1880/sẽ xuất hiện màn hình đăng nhập vào Node-Red.
Hình3.21.MànhìnhđăngnhậpvàoNode-Red Để đăngnhậpvào Node-RedgõvàoUsernamelà “duonghoangquocnhu” và Password là
“quocnhu” đã tạo ở bước trước Nhấn vào Login và đăng nhập thành công vào Node-Red.
TruycậpgiaodiệnDashboardtrênnhưngthiếtbịkhácnhau
Sau khi lập trình xong trên giao diện Node-Red, tiến hành truy cập vào giao diện sử dụng chương trình:
VàoCmd.exebanđầu,sauđógõCtrlnhấpphímEnter,gõYđểtắtflowNode-Red.Sau đógõlệnh“ipconfig”rồinhấnphímEnter.Chờchươngtrìnhtảixong,kiểmtradòngIpv4 Address để tìm địa chỉ IP Local.
Kếtquả trả vềlàđịa chỉ192.168.1.10.Sẽ làđịachỉ đểcác thiếtbị diđộngkháckếtnối cùng 1 mạng Wifi truy cập vào giao diện sử dụng.
Giao diện được truy cặp bằng điện thoại hệđiều hành Android và IOS Vào GoogleC h r o m e t r ê n đ i ệ n t h o ạ i s a u đ ó t r u y c ậ p v à o đ ị a http://192.168.1.10:1880/ui.
Quytrìnhcôngnghệ
Yêucầubàitoán
- KhicảmbiếnchuyểnđộngPIR HC-SR501khikhôngpháthiệncóngười,cảmbiến ở mức 0 Relay chưa được kích đèn báo trạng thái có trộm sẽ tắt và còi báo sẽ không hú.
Sơđồkhối
+NguồnUSBchomáytínhnhúng5V2.5Ađượcsửdụngđể cấpnguồncho các board mạchmáytínhnhúng,máytínhMinicótốcđộxửlývàhiệusuấtngàycàngnângcaohiện naynhư:RaspberryPi 3,Orange Pi,Nano Pi, NguồnUSBcho máytínhnhúng5V2.5A cóchấtlượngtốt,cóđiệnápđầura5VDCvàdạngđầuracổngUSBvớidòngcungcấplên đến2.5A(testthực tế chodòng lên đến 3A mà không bị sụt áp), nguồncó chất lượng linh kiệntốt,độbềncao,làsựlựachọnthíchhợpchocácboardmạchmáytínhnhúnghiệnnay.
+ ArduinoUno R3 sử dụngnguồntrực tiếptừ cổngUSBcủa RaspberryPi 3B+, đồng thời giao tiếp với Raspberry Pi qua cổng USB.
+Cảmbiến PIR HC-SR501,cácthiếtbịngõranhưRelay, còi sửdụngnguồntrực tiếp từ Arduino Uno R3.
- Khốixửlý:GồmcóRaspberryPi3B+vàArduinoUnoR3.SửdụngRaspberryPiđể điềukhiểnkhiểnArduinothôngquaphầnmềmNode-Red.Arduinosẽsửlýcáctínhiệura vào sau đó gửi lên Node-Red Raspberry Pi lúc này đóng vài trò như một Sever.
- Khốingõvào:CảmbiếnPIRHC-SR501thựchiệnpháthiệnhồngngoạitừngười,giá trị cảm biến sẽ được trả về Arduino liên tục.
- Khốingõra:Được kết nốivàochânpin 12và pin 13củaArduino gồm còibáovà Relay, sẽ thay đổi trạng thái khi nhận tín hiệu từ Arduino.
Sơđồnguyênlý
Khaibáobiếnvàđịachỉ
LậptrìnhhệthốngbằngNode-Red
- Vào cửa sổ Run, sau đó gõ “CMD” nhấp phím Enter, sau đó” Node-Red” Để khởiđ ộ n g N o d e - R e d
Hình 4.5 MànhìnhCMD sau khikhởi độngNode-Red
Vào Google Chrome truy cập vào địa chỉhttp://127.0.0.1:1880để lập trình với Node- Red.
Khi vào sẽ xuất hiện màn hình đăng nhập vào Node-Red Username và Password đã được thiết lập ở phần bảo mật Nhập Username là “duonghoangquocnhu” và Password là
“quocnhu” để truy cập và lập trình Node-Red Nhấn vào Login và đăng nhập thành công vào Node-Red.
Tiếnhànhlậptrìnhcho Node-Red.Giaodiện Node-Redsaukhiđượclậptrìnhvàthiết lập các khối lệnh.
- Ở khối lệnh Arduino Input Arduino sẽ nhận tín hiệu từ chân pin 2 được kết nối với cảm biến chuyển động PIR HC-SR501 Cảm biến sẽ gửi tín hiệu vào Arduino sau đó Arduino sẽ gửi lên Node-Red.
- Thiết lập cho khối lệnh Chọn port COM5 của Arduino Chọn kiểu dữ liệu vào là
“Digitalpinwithpullup”.Cảmbiếnđược kết nốivớichân Pin 2của Arduino Đặttêncho khối lệnh là PIR HC-SR501.
- Ở khối lệnh Switch của Dashboard, sẽ được hiển thị trên giao diện Dashboard Khối lệnh sẽ thay đổi trạng thái và nhận tín hiệu liên tục từ cảm biến chuyển động PIR HC-SR501.
- Thiết lập khối lệnh Chọn Group là “HỆ THỐNG CHỐNG TRỘM” để xuất ra giao diệnDashboard.TrạngtháiOnPayLoadgửiđitínhiệumức1.TrangtháiOffPayLoadgửi đitínhiệulàmức0.ĐặttênchohaicộngtắchiểnthịtrênDashboardlàĐÈNBÁOvàCÒIBÁO.
-ỞlệnhFuction.SẽnhậntínhiệutừcảmbiếnPIRHC-SR501.Sauđósẽthựchiệnmã code được lập trình và gửi đi tín hiệu theo mã code đã được lập trình.
-Viếtmãcodecholệnhfuction: varstr=msg.payload; if
SR501.Nếubiến str bằng0thì msgsẽ xuấtra màuxanh lá trên giao diệnDashboard Nếu biến str bằng 1 thì msg sẽ xuất ra màu đỏ trên giao diện Dashboard.
-ỞkhốilệnhgaugenhậntínhiệutừcảmbiếnPIRHC-SR501.Saukhinhậntínhiệusẽ xuất ra giao diện hiển thị tín hiệu được nhận trên Dashboard.
- Thiết lập khối lệnh Chọn Group là “HỆ THỐNG CHỐNG TRỘM” để xuất ra giao diệnDashboard.ThiếtlậpRangeminlà0,hiểnthịmàuxanhlá.ThiếtlậpRangemaxlà1, hiển thị màu đỏ Đặt tên cho Gauge là “TRẠNG THÁI CẢM BIẾN”.
-ỞlệnhTemplate.TrêngiaodiệnDashboardsẽhiểnthịthôngtinđồán.Giáoviên hướng dẫn và người thực hiện.
.tree{font:bold40pxserif;fill:red;}
CÓTRỘM
-Giải thích mã code/ Lệnh sẽ xuất ra giao diện Dashboard tên giáo viên hướng dẫn và tênsinhviênthựchiện.Thiếtlậpcholệnh.ChọnGrouplà“ĐỒÁNHỌCPHẦN2”đểxuất ra giao diện Dashboard Và đặt tên cho template là “Thông tin đồ án”
-Ở khốilệnhArduino Output.Relayvà Còisẽ được kếtnốivới chân Pin 13 và 12của Arduino.NhậntínhiệutừcảmbiếnPIR-HC-SR501qua2côngtắcswichđểthayđổitrạng thái Khi nhận tín hiệu là 1, Relay 5V sẽ được kích và còi sẽ hú Khi nhận tín hiệu là 0, Relay 5V không được kích và còi sẽ không hú.
- Thiết lập cho khối lệnh Chọn Port COM5 của Arduino Chọn kiểu dữ liệu ngõ ra là Digital Relay được kết nối với chân Pin 13 và Còi được kết nối với chân Pin 12 Đặt tên cho khối lệnh là Relay 5v và CÒI.
-Ởlệnhtemplate.Sẽnhậntínhiệutừ cảmbiếnPIRHC-SR501qualệnhfuction.Lệnh template sẽ xuất giao diện Dashboard một vòng tròn xanh nếu cảm biến không phát hiện người,xuấtravòngtrònmàuđỏnếucảmbiếnpháthiệncóngườichuyểnđộng.Vàhiểnthị trênDashboardchữ “CÓ TRỘM”.
.tree{font:bold40pxserif;fill:red;}
CÓTRỘM
-Giải thích mã code: Lệnh sẽ xuất ra giao diện Dashboard một vòng tròn ở tọa độ x 120, y= 45, bán kính bằng 40, và màu được hiển thì theo msg.payload từ lệnh fuction Sẽ xuấtragiao diệnDashboardchữ“CÓ TRỘM” ởtọađộx =3 0 , y 5vàcóchữ màuđỏ.
- Thiết lập cho lệnh Chọn Group là “HỆ THỐNG CHỐNG TRỘM” để xuất ra giao diện Dashboard Và đặt tên cho template là Trạng thái màu.
ĐiềukhiểnvàgiámsáthệthốngquagiaodiệnDashboard
Hình4.26.Kết nốivới ArduinovớiRaspberry quacổngUSB
VàoGoogleChromesauđótruycậpvàođườngdẫnhttp://127.0.0.1:1880/uiđểđiđến giao diện Dashboard điều khiển và giám sát hệ thống.
GiaodiệnDashboardbáotrạngtháikhôngcótrộm.Đènbáovàcòibáođượctắt.Vòng tròn báo có trộm hiển thị màu xanh Trạng thái cảm biến thông báo ở mức 0.
Giao diện Dashboard báo trạng thái có trộm Đèn báo và còi báo được bật Vòng tròn báo có trộm hiển thị màu đỏ Trạng thái cảm biến thông báo ở mức 1.
Tacóthểquansát trên nhiềuthiết bịnhưđiện thoạithông minh, máytính,laptopkhác bằngcáchvào Google Chrometruycậpđịachỉhttp://192.168.1.10:1880/uitađãtìmđược ở trên.
GiaodiệnDashboardbáotrạngtháikhôngcótrộmkhiquansátbằngđiệnthoạichạyhệ điều hành Android Vòng tròn báo có trộm hiển thị màu xanh Trạng thái cảm biến thông báo ở mức 0.
Hình 4.29.GiaodiệnDashboardbáotrạngtháikhôngcótrộmtrên điệnthoại ĐâylàgiaodiệnDashboardbáotrạngtháicótrộmkhiquansátbằngđiệnthoạichạyhệ điều hành Android Đèn báo và còi báo được bật Vòng tròn báo có trộm hiển thị màu đỏ Trạng thái cảm biến thông báo ở mức 1.
Kếtquảđạtđược
- Hiểuđượcphầncứng,cáchkếtnốicáclinhkiệnvớiArduino.Cách kếtnốivớiboard Arduino giao tiếp với máy tính và board Raspberry Pi.
- Hiểu được cách lập trình hệ thống bằng Node-Red Quan sát và điều khiển hệ thống bằng giao diện Dashboard của Node-Red.
- Thiết kế và thi công một mô hình hệ thống chống trộm sử dụng Arduino được điềuk h i ể n b ằ n g R a s p b e r r y P i t h ô n g q u a p h ầ n m ề m N o d e - R e d
Hướngpháttriểnđềtài
Đồ án thiết kế và thi công hệ thống chống trộm chỉ dừng lại ở mô hình nhỏ, sử dụng trong các ngôi nhà nhỏ và vừa Đề tài sẽ phát triển thành mô hình chống trộm theo hướng rộng hơn, sâu hơn:
- Thiết kế một mô hình nhà tự động Hệ thống chống trộm kết hợp bật tắt với các thiết bị khác trong nhà, cảnh báo khí ga, mưa,… Có thể điều khiển hệ thống bằng giọng nói.
- Nâng cấp mô hình sử dụng nhiều cảm biến hơn để có thể sử dụng trong các biệt thự,ngôi nhà lớn, xưởng, kho…