-
-
-
Tổng tiền thanh toán:
-
Điều khiển từ xa sử dụng ESP8266 và Arduino
11/10/2018
Kết nối điều khiển từ xa sử dụng ESP8266 và Arduino với hệ thống firmware iNut Cảm biến CloudMQTT - 1000 firmware miễn phí
Mô tả dự án:
Chuyện kể rằng, có 02 sinh viên Việt Nam, trong lúc làm đồ án đại học kết nối điều khiển từ xa qua Internet. Một người thì chọn phương án truyền thống sử dụng máy tính làm máy chủ và demo các tính năng theo yêu cầu đồ án. Người còn lại biết đến iNut Sensor và tìm cách tối ưu hóa phần mềm và phần cứng nhằm chau chuốt cho đồ án của mình trở nên "xịn" và "nhiều tính năng bá đạo". Đến lúc bảo vệ đồ án, cậu sinh viên 01 cảm thấy choáng ván với muôn vàn vấn đề từ việc nơi trình bày đồ án không có wifi, mạng chập chờn, máy tính mở không lên, đứt cáp biển,... Cuối cùng cũng bảo vệ được với điểm số không ưng ý lắm dù tốn rất nhiều thời gian và công sức. Cậu còn lại nhờ vào việc chau chuốt phần mềm, tối ưu hóa và comment kĩ từng lệnh trong dòng code, viết báo cáo bài bản chuẩn bị slide như ý, dùng điện thoại cài wifi, quét mã QRcode để chia sẻ quyền truy cập đến phần mềm rất chuyên nghiệp, mọi thứ cậu chủ động hoàn toàn mà không bị các vấn đề "học tài thi phận" bủa vây mà kết quả hết sức mĩ mãn, điểm số mĩ miều, kiến thức IoT được chuẩn hóa. Thực vậy, các dự án, đồ án sử dụng nền tảng iNut Platform bên dưới cho phép các bạn sinh viên làm các dự án hết sức hoàn hảo: từ xe điều khiển, bãi giữ xe thông minh, hệ thống máy lạnh, máy bơm, điều hòa thông minh,... do chinh các bạn tự làm nên đã đạt được những điểm số tốt và tuyệt đối. Cũng chính vì thế, iNut JSC (công ty chủ quản của iNut Platform) đã kết hợp với Khu Công nghệ phần mềm - ĐHQGHCM để tổ chức những khóa đào tạo ngắn hạn cho sinh viên Việt Nam sử dụng nền tảng IoT do iNut JSC phát triển. Và để mở con đường tri thức tiếp cận IoT trong nháy mắt, iNut JSC đã tạo ra một phiên bản firmware trị giá 50.000 đồng sử dụng clouding của CloudMQTT và tài trợ 1000 firmware cho tất cả các bạn học sinh, sinh viên Việt Nam có thể tiếp cận IoT một cách dễ dàng và nhanh chóng nhất!
Tại sao lại là iNut?
Ban đầu, iNut có tên gọi là iNút, ý muốn nói đến một chiếc "Nút' có "trí tuệ" (intelligent), có "kết nối internet" (internet) và có thể tích hợp "integration". Dự án bắt đầu từ cuối năm 2016 và dần dần mở khóa từng hạng mục intelligent, internet, integration. Trong quá trình phát triển, nhóm dự án iNut thấy rằng nếu mình cứ mãi đi làm những điều mà không thể nào cạnh tranh về giá với đồ Trung Quốc, không thể làm đẹp như "hắn" và cũng không thể nào có đủ kinh phí để đầu tư phát triển như hắn. Vậy đâu là con đường cho iNút?
Vả rồi, chúng tôi quyết định bỏ dấu sắt đi, đưa nó trở thành iNut! Từ "nut" trong tiếng anh có nghĩa lóng là "Stupid", "crazy". Và đơn giản, iNut ý là chỉ những người dám khát khao, dám dại khờ để chinh phục những đỉnh cao học thuật, những đỉnh cao trong quá trình sản xuất và những đỉnh khác! Hoặc chỉ là đơn giản tôi khờ, tôi không biết gì nhưng tôi có hoài bão, ước mơ để làm những điều người khác cho là dại khờ, hay thậm chí là ngu xuẩn .
Chơi chữ xíu vậy thôi! iNut sẽ giúp bạn tiếp cận ngành Internet-of-Things một cách nhanh chóng bằng việc chuẩn hóa từ bước phần cứng, firmware, phần mềm để các bạn nhanh chóng làm được project của riêng mình, tự do làm bất cứ thứ gì mà mình thích. Và thứ đó, mặc định, sẽ có 3 yếu tố: intelligent, internet và integration. Khó khăn trước đây khi tiếp cận với IoT đó là không có một nền tảng nào đủ lớn, đủ mạnh và đủ tùy biến để biến ước mơ kết nối vạn vật của sinh viên trở thành sự thật. Đại đa số các bạn sinh viên khi tiếp cận đến IoT đều không có khả năng vận hành và đưa kiến thức của mình vào thực tế vì những lý do về bảo mật, an toàn, độ tin cậy và sự ổn định của một hệ thống.
Một bạn sinh viên hoàn toàn có thể làm một dự án điều khiển từ xa bật - tắt bóng đèn. Nhưng đem project đó vào một bài toán trong thực tế sẽ gặp nhiều vấn đề nan giải và phức tạp. Vì:
- hệ thống máy chủ có liệu ổn định?
- chương trình đến tay người dùng cuối có thể tùy chỉnh theo ý họ hay ràng buộc bởi bạn?
- giao thức kết nối của bạn có đủ an toàn?
- bạn phải lo lắng về hệ thống server trong suốt vòng đời sản phẩm,...?
- bạn phải quản lý các thiết bị của mình trong khi đã bàn giao cho khách, những vấn đề về sự riêng tư,...?
- ...
Còn rất nhiều vấn đề "ngăn cản" một project của sinh viên tiếp cận các dự án thực tế. Nhưng, bạn chỉ việc sử dụng nền tảng iNut Platform này thì mọi vấn đề trên đã được giải quyết!
- hệ thống máy chủ được tối ưu hóa với nhiều máy chủ load balancing phân bổ khắp Việt Nam, và ở Singapore. Backup liên tục và đảm bảo uptime 100%.
- chương trình bạn viết được mô tả hóa thành các block rất dễ trình bày với người dùng qua các khối lệnh kéo thả. Cho phép bạn nâng cấp và bán các addon cho người dùng để đem lại giá trị cộng thêm cho phần mềm của bạn.
- giao tiếp kết nối tls, ssl đầy đủ với các bản firmware nâng cao, đòi hỏi bảo mật cho những gateway có giá trị lớn.
- bạn có thể tự build một private server trong trường hợp muốn tự vận hành một hệ thống máy chủ nội bộ hoặc phân phối riêng. Trong đó sử dụng firmware iNut private cloud và app iNut cho viêc setup
- bạn có thể biến ngay một project có ý nghĩa và tính ứng dụng và đưa nó ngay vào các ngành công nghiệp và nông nghiệp công nghệ cao,...
... và hiện nay, đang có 1000 firmware iNut Sensor CloudMQTT đang chờ các bạn chiếm hữu, ngại gì mà dành thời gian để cắn một trái táo và thử nghiệm một tí cho em ESP8266 của mình, cho nó có tí "dại khờ" nào.
Bạn có thể làm được gì với firmware iNut Sensor ?
Bạn có thể làm mọi thứ!
Hệ thống điều khiển relay trong tủ điện nuôi trồng nông nghiệp
Bộ đổi âm thanh trong các hệ thống cửa hàng bán lẻ
Tích hợp bất cứ loại PLC nào hỗ trợ cổng RS485 lên Internet trong nháy mắt.
Làm thế nào để tiếp cận được với công nghệ iNut nhanh chóng nhất?
iNut JSC vừa cung cấp app, phần cứng và phần mềm nhúng (firmware). Là một sinh viên kĩ thuật, chúng ta sẽ cần sử dụng firmware iNut Cảm biến CloudMQTT (iNut Sensor CloudMQTT) để có thể tiếp cận được với IoT nhanh chóng. Firmware này sẽ đươc nạp vào ESP8266v12 trở lên (khuyên dùng NodeMCU hoặc wemos để nạp code cho dễ). ESP8266v12 sẽ kết nối với bo mạch Arduino Uno, hoặc Arduino Mega, hoặc STM32, ESP32,... bất cứ bo nào có hỗ trợ giao thức I2C Slave.
Bo iNut Sensor được nạp firmware iNut Sensor CloudMQTT hoặc iNut Sensor hoặc bất cứ firmware phái sinh nào từ nhánh phát triển iNut Sensor rất phù hợp với các bo theo xu hướng Arduino
Bạn sẽ cần đăng ký một tài khoản trên inut.vn để tải một firmware miễn phí. Đồng thời thêm một tài khoản ở CloudMQTT để có một server miễn phí. Chúng ta cùng bắt đầu nhé.
Đăng ký tài khoản ở iNut.vn và mua một firmware iNut Sensor CloudMQTT
Bạn đăng ký tài khoản ở https://inut.vn/user/register
Sau khi đăng ký thành công, bạn sẽ được di chuyển về trang chủ. Bây giờ, chúng ta sẽ tiến hành đặt mua firmware iNut Sensor CloudMQTT. Bạn vào https://inut.vn/product/inut-cam-bie... để tiến hành đặt mua nhé. Bạn tìm ô chọn "1 bus I2C" và chuyển thành "iNut Sensor CloudMQTT". Sau đó, nhấn vào "Thêm vào giỏ hàng".
Bạn sẽ có một firmware nằm trong giả hàng và đang chờ được thanh toán.
Ở mục thanh toán, bạn nhập mã TOILASINHVIENVIETNAM để được giảm giá 100% cho tổng đơn hàng khi mua firmware này nhé. Mỗi tài khoản sẽ có thể sử dụng 1 voucher này, mỗi voucher giảm 69k. Có cổng tộng 1000 lần sử dụng voucher! Sau đó, bạn nhấn next vài lần là ok.
Để nạp firmware vào ESP8266 các bạn xem ở đây nhé. https://inut.vn/help/esp-activate
Cài đặt iNut Cảm biến CloudMQTT
Trước khi cài đặt cho bo iNut Cảm biến CloudMQTT, bạn cần tải phần mềm iNut trên điện thoại thông minh. Có hai phiên bản: Android và iOS cho bạn lựa chọn:
- Android: https://goo.gl/Y2zauw
- iOS: https://goo.gl/bCTrEX
Sau đó, bạn thực hiện việc cài đặt mạng cho iNut như video sau:
Đăng ký một tài khoản ở CloudMQTT
Vì đây phiên bản iNut Sensor rút gọn cho việc học tập nghiên cứu của sinh viên và được khuyên là không dùng trong thương mại hóa vì không được bảo hành về dịch vụ cloud. Firmware này chỉ hỗ trợ dịch vụ CloudMQTT mà không cho phép tùy chỉnh MQTT server khác.
Bạn vào CloudMQTT https://cloudmqtt.com/ và đăng nhập bằng Gmail hoặc Facebook cho nhanh nhé. Tạo một plan Cute cat free với máy chủ ở Châu Âu hoặc Mỹ đều được nhé.
Sau khi đã có một tài khoản ở CloudMQTT và tạo xong một plan, chúng ta sẽ có một giao diện như thế này.
Bạn sẽ copy phần nội dung instance info thế này vào dịch vụ CloudMQTT https://cloudmqtt.inut.vn/ để được chuyển thành định dạng phù hợp với iNut Sensor CloudMQTT.
Bạn dán đoạn thông tin copy từ cloudmqtt vào đây để lấy được đoạn mã cần thiết!
Một bên là mã QRCode để iNut Sensor CloudMQTT có thể quét dễ dàng nhằm kết nối vào clouding MQTT. Một bên là iNut Node-RED IDE Code để tương thích với phần mềm iNut Node-RED IDE.
iNut quét mã QRcode CloudMQTT để hoàn thành quá trình cài đặt cloud server
Bạn vào mục Cài đặt và chọn thiết bị của mình nhé.
Sau đó click vào biểu tượng cài đặt
Click vào nút "Quét mã QRCode thông số" và quét mã ở bước trên nhé.
Và các bạn quét mã được sinh ra ở bước trên á (CloudMQTT.inut.vn), nếu quét đúng mã, bảng sau sẽ hiện ra, bạn nhấn OK để xác nhận và tích dấu trên góc để lưu.
Như vậy là xong rồi, các bạn có thể giám sát data và test thiết bị ngay tự CloudMQTT này ở mục WEBSOCKET UI.
Data do mình chưa gắn với Arduino nên nó báo là disconnected.
Kết nối bo mạch iNut cảm biến với bo mạch Arduino
Bạn xem tài liệu hóa đầy đủ https://arduino.vn/tutorial/5929-ra-mat-thu-vien-inut-cho-arduino-dieu-khien-tu-xa-qua-internet-bang-mach-inut-cam-bien. Các bạn có thể search từ khóa iNut sensor hoặc iNut platform ở google để tìm kiếm tài liệu nhé.
Lập trình app kết nối vạn vật với phần mềm iNut Node-RED IDE
Sinh viên chúng ta có thể sử dụng phần mềm iNut Node-RED IDE, để phát triển phần mềm điều khiển với firmware iNut Sensor CloudMQTT. Ngoài ra, đối với các sinh viên khác, bạn hoàn toàn có thể sử dụng bất cứ ngôn ngữ lập trình nào hỗ trợ giao tiếp MQTT là khả thi.
Để cài đặt iNut Node-RED IDE, các bạn làm theo hướng dẫn này nhé!
https://arduino.vn/bai-viet/6057-tai-lieu-ky-thuat-bo-tui-de-lap-trinh-internet-things-van-hanh-dieu-khien-va-quan-ly
Các bạn ở thể xem các ví dụ mẫu ở mục iNut's Example
Bạn có thể dễ dàng tìm kiếm các bài viết theo từ khóa mà bạn muốn. Số lượng giải pháp ví dụ sẽ được tăng dần theo thời gian.
Để liệt kê hết toàn bộ giải pháp, bạn gõ từ khóa iNut như trong ví dụ:
Các bạn có thể xem tên giải pháp, mở link tham khảo và thêm vào Node-RED ngay lập tức, một số từ khóa bạn có thể tìm nhanh:
- Trên MySmarthome có sản phẩm gì thì bạn lên đây gõ để tìm các giải pháp từ đó cung cấp cho Khách hàng
- iNut
- Giải pháp
- F4, i3, i1, nhà yến, PLC,...
Click vào nút Add to Node-RED ở bài ví dụ [iNut F4][Giải pháp]Điều khiển relay (4 relay) qua máy tính và điên thoại bằng app của bạn, chúng ta có được ví dụ mẫu như sau:
Như vậy là xong, bạn đã có ví dụ mẫu đầu tiên rồi ^_^. Các bạn để ý đến các khối màu tím (MQTT-IN) và khối màu vàng nhạt (REST-GET và REST-POST), đó là hai khối lệnh sẽ thực hiện nhiệm vụ giao tiếp đọc dữ liệu và gửi lệnh điều khiển xuống các thiết bị iNut. Mỗi thiết bị iNut được sản xuất sẽ tương ứng với 3 khối lệnh MQTT-IN, REST-API và REST-POST khác nhau. Trong ví dụ sẽ luôn có sẵn 3 khối lệnh này để bạn biết chỗ để thay thế.
Tuy nhiên, đây là bản "lite" rút gọn nên không thể sử dụng tính năng quét mã QRcode từ app inut để điều khiển được. Thay vào đó, bạn sẽ sử dụng đoạn code được sinh ra cùng lúc với mã QRcode CloudMQTT để cập nhật vào phần mềm iNut Node-RED IDE
Bạn vào mục Menu chọn Import > Clipboard như hình và dán đoạn mã tương ứng ở CloudMQTT.inut.vn nhé!
Bạn sẽ thay thế MQTT-IN vào vị trí tương ứng ở các ví dụ tương ứng và MQTT-OUT thay vào REST POST!
Bạn sửa lại nội dung thông tin server để cập thông thông tin username password ở CloudMQTT và nhấn nút Update để hoàn thành quá trình cài đặt nhé.
Ví dụ kiểm thử iNut cảm biến sau khi được cập nhật!
Như vậy bạn đã chinh phục với iNut Sensor CloudMQTT. Thử ngay bạn nhé, rất đơn giản và hoàn hảo để kiểm định dự án. Chúc bạn thành công.