Mục lục:
- Bước 1: Những thứ được sử dụng trong dự án này
- Bước 2: Câu chuyện
- Bước 3: Chuẩn bị
- Bước 4: Cấu hình
- Bước 5: Cài đặt
- Bước 6: Lập trình
- Bước 7: Kiểm tra
- Bước 8: Bước tiếp theo
- Bước 9: Sơ đồ
- Bước 10: Mã
Video: Nút cửa ảo sử dụng Mongoose OS và XinaBox: 10 bước
2024 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2024-01-30 13:33
Sử dụng Mongoose và một số xChips, chúng tôi đã tạo một nút cửa ảo. Thay vì một nút vật lý để thông báo cho nhân viên, giờ đây họ có thể tự làm việc đó.
Bước 1: Những thứ được sử dụng trong dự án này
Các thành phần phần cứng
- XinaBox CW02 x 1 Bạn có thể sử dụng CW01 để thay thế
- XinaBox IP01 x 1
- XinaBox PU01 x 1 Bạn chỉ có thể sử dụng IP01 để cấp nguồn, nếu bạn không có ý định lập trình thêm mô-đun.
- XinaBox OC03 x 1
- XinaBox XC10 x 1 "Chất keo" làm cho tất cả hoạt động!
Ứng dụng phần mềm và dịch vụ trực tuyến
Mongoose OS Công cụ phát triển IoT thực sự tuyệt vời và dễ dàng… và miễn phí
Bước 2: Câu chuyện
Tại quầy lễ tân của chúng tôi, nhân viên của chúng tôi cần được chú ý, vì vậy chúng tôi quyết định lấy thuốc của riêng mình và tạo một nút ảo. Mã này cho phép bạn gửi RPC (Cuộc gọi thủ tục từ xa), giống như một cuộc gọi HTTP bình thường từ bất kỳ trình duyệt nào. Chúng tôi đã sử dụng Mongoose, vì nó thực sự dễ dàng và nhanh chóng và nó được tích hợp sẵn bản cập nhật mã OTA (Over The Air), có nghĩa là chúng tôi có thể cài đặt công nghệ của mình và vẫn nâng cấp phần sụn theo thời gian mà không cần phổ biến nó để lập trình lại.
Bước 3: Chuẩn bị
- Cài đặt Mongoose-OS: Về phía trước, chỉ cần làm theo các bước rất dễ dàng cho hệ điều hành của bạn tại đây:
- Nhấp vào IP01 và CW02 cùng nhau bằng cách sử dụng đầu nối XC10. Xem hình ảnh bên dưới:
- Cắm IP01 vào cổng USB của bạn
- Đảm bảo các công tắc IP01 ở vị trí B và DCE.
- Flash Mongoose-OS sang CW02 từ dòng lệnh của bạn. Như thế này:
đĩa CD
export MOS_PORT = bin / mos flash esp32
Bạn cũng có thể chỉ cần vào bảng điều khiển và thực hiện hầu hết từ đó, nhưng ở đây chúng tôi thực hiện từ dòng lệnh, vì vậy công việc được thực hiện nhanh chóng. Để vào bảng điều khiển:
đĩa CD
bin / mos
Bước 4: Cấu hình
Mặc dù các bước này có thể được thực hiện trong một bản tuyên bố dài, nhưng chúng tôi quyết định tách chúng ra và vì bạn sẽ sao chép và dán chúng bằng mọi cách, hãy làm cho nó dễ dàng:
Đặt các chân I2C thành tiêu chuẩn xChips:
bin / mos config-set i2c.scl_gpio = 14 i2c.sda_gpio = 2
Kết nối CW02 với WiFi của bạn:
bin / mos wifi
Ngắt kết nối WiFi ở chế độ AP và thiết lập tên miền, vì vậy bạn có thể kết nối với CW01 bằng tên máy chủ thay vì tìm địa chỉ IP chính xác. Điều này sẽ chỉ hoạt động nếu:
- Bạn ngắt kết nối WiFi ở chế độ AP như chúng tôi làm dưới đây.
- Sử dụng máy Mac hoặc cài đặt Bonjour trên máy Windows của bạn.
bin / mos call Config. Đặt '{"config": {"wifi": {"ap": {"enable": false}}}}'
bin / mos call Config. Set '{"config": {"dns_sd": {"enable": true}}}' bin / mos call Config. Set '{"config": {"dns_sd": {"host- tên ":" xinabox_switch "}}}
Và cuối cùng bạn phải khởi động lại CW02 để cấu hình hoạt động
bin / mos call Config. Save '{"reboot": true}'
Rất nhanh sau đó, bạn sẽ có thể ping xinabox_switch.local
Bước 5: Cài đặt
Rút IP01 khỏi máy tính của bạn và lắp ráp mạch theo hình ảnh trên cùng.
Cắm PU01 (hoặc nếu bạn quyết định gắn với IP01) vào nguồn điện USB. Kết nối dây song song từ công tắc hiện có của bạn (để đó, chỉ trong trường hợp) với OC03 (phân cực không quan trọng). Xem bản vẽ Fritzing.
Sau khi được cấp nguồn và để thấy rằng bạn đang thực sự nói chuyện với xCW02 của mình, còn việc quét BUS, hay còn gọi là bus I2C:
bin / mos --port ws: //xinabox_switch.local/rpc gọi I2C. Scan
Nếu tất cả đều hoạt động và xOC03 của bạn được cài đặt đúng cách, bạn sẽ thấy số '56' được trả về. Đó là địa chỉ I2C của OC03 ở dạng thập phân (trong hệ thập lục phân là 0x38).
Bước 6: Lập trình
- Bây giờ hãy mở Mongoose ở chế độ giao diện điều khiển, xem ở trên. Nó sẽ mở bằng một Cửa sổ nơi nó yêu cầu số cổng, nhập: ws: //xinabox_switch.local/rpc
- Nó sẽ giao tiếp với CW02 và nhận ra rằng thiết bị đã được flash và kết nối với WiFi, vì vậy nó sẽ chỉ đưa ra 3 dấu kiểm. Đóng cửa sổ và làm mới danh sách tệp
- Sao chép và dán mã bên dưới vào init.js và nhấp vào lưu + khởi động lại
- Mạch của bạn bây giờ đã được lập trình.
Bước 7: Kiểm tra
Bây giờ bạn đã thực hiện một cuộc gọi RPC khác để từ thiết bị đầu cuối của bạn, bạn có thể nhập:
bin / mos --port ws: //xinabox_switch.local/rpc Chuyển đổi cuộc gọi
… Và bộ rung của bạn sẽ hoạt động trong 2 giây. Bạn cũng có thể làm điều đó từ - hầu như - bất kỳ trình duyệt nào:
xinabox_switch.local/rpc/Switch
… Với cùng một hiệu ứng.
Bước 8: Bước tiếp theo
Bạn có thể sử dụng bất kỳ công cụ nào có thể kích hoạt một URL. Tôi làm điều đó từ một Ứng dụng Apple có tên là Workflow, cho phép tôi làm điều đó từ điện thoại của mình hoặc một phần phức tạp từ Apple Watch của tôi, nhưng có nhiều tùy chọn khác ngoài đó. Đây là tập lệnh Dòng công việc của tôi, nhưng với địa chỉ IP được mã hóa cứng: Hãy tận hưởng!
Ứng dụng Apple: Quy trình làm việc - tại đây với địa chỉ IP được mã hóa cứng
Bước 9: Sơ đồ
Mạch Buzzer Cài đặt OC03 song song với nút nhấn hiện có.
Tải về tại đây.
Mạch OC03 Cài đặt OC03 song song với nút nhấn hiện có.
Tải về tại đây.
Bước 10: Mã
init.js JavaScript Mã chính và duy nhất của bạn cho dự án này.
load ('api_config.js');
load ('api_gpio.js'); load ('api_i2c.js'); load ('api_net.js'); load ('api_sys.js'); load ('api_timer.js'); load ("api_rpc.js"); let led = Cfg.get ('pin.led '); cho adr = 0x38; let bus = I2C.get (); I2C.writeRegB (bus, adr, 3, 0); I2C.writeRegB (bus, adr, 1, 0); / * tắt chỉ để chắc chắn * / let delay = 2000; GPIO.set_mode (đã dẫn, GPIO. MODE_OUTPUT); RPC.addHandler ('Switch', function (args) {GPIO.toggle (led); I2C.writeRegB (bus, adr, 3, 0); / * trong trường hợp OC03 được kết nối lại * / I2C.writeRegB (bus, adr, 1, 1); Timer.set (delay, false, function () {GPIO.toggle (led); I2C.writeRegB (bus, adr, 1, 0);}, null); return true;});
Đề xuất:
Sử dụng các nút đẩy trên Magicbit [Magicblocks] của bạn: 5 bước
Sử dụng Nút Đẩy trên Magicbit của bạn [Magicblocks]: Hướng dẫn này sẽ dạy bạn sử dụng Nút Đẩy trên Magicbit của bạn bằng Magicblocks. Chúng tôi đang sử dụng magicbit làm bảng phát triển trong dự án này dựa trên ESP32. Do đó, bất kỳ bảng phát triển ESP32 nào cũng có thể được sử dụng trong dự án này
Sử dụng phần mở rộng lồng ngực của Hope để tìm Công việc chưa hoàn chỉnh của Sắc lệnh đền thờ trong cây gia đình của bạn về Tìm kiếm gia đình: 11 bước
Sử dụng phần mở rộng Rương của Hope để Tìm công việc pháp lệnh đền thờ chưa hoàn chỉnh trong cây gia đình của bạn trên Tìm kiếm gia đình: Mục đích của tài liệu hướng dẫn này là để trình bày cách tìm kiếm gia phả của bạn trong Tìm kiếm gia đình cho tổ tiên có công việc pháp lệnh đền thờ chưa hoàn thành bằng cách sử dụng phần mở rộng Rương của hy vọng. Sử dụng Hope's Chest có thể tăng tốc đáng kể tìm kiếm của bạn cho
Ứng dụng của một nút có thể mở rộng với phản hồi rung: 7 bước (có hình ảnh)
Ứng dụng của nút có thể mở rộng với phản hồi rung: Trong hướng dẫn này, trước tiên chúng tôi sẽ chỉ cho bạn cách sử dụng Arduino Uno để điều khiển động cơ rung thông qua nút mở rộng. Hầu hết các hướng dẫn về nút nhấn đều liên quan đến nút trên breadboard vật lý, trong khi trong hướng dẫn này, nút có
Đầu vào cảm ứng điện dung ESP32 sử dụng "Phích cắm lỗ kim loại" cho các nút: 5 bước (có hình ảnh)
Đầu vào cảm ứng điện dung ESP32 sử dụng "Phích cắm lỗ kim loại" cho các nút: Khi tôi đang hoàn thiện các quyết định thiết kế cho dự án dựa trên ESP32 WiFi Kit 32 sắp tới yêu cầu đầu vào ba nút, một vấn đề đáng chú ý là Bộ WiFi 32 không sở hữu một nút bấm cơ học duy nhất, nhưng chỉ có ba nút cơ học, f
Hướng dẫn sử dụng Raspberry Pi: Cách sử dụng nút nhấn: 4 bước
Hướng dẫn sử dụng Raspberry Pi: Cách sử dụng nút nhấn: Trong hướng dẫn này, bạn sẽ học cách bật đèn LED bằng nút với Raspberry Pi. Các nút nhấn hoặc công tắc kết nối hai điểm trong một mạch điện khi bạn nhấn chúng. Hướng dẫn này bật một đèn LED khi nhấn nút một lần và tắt với