IoT Builder for Arduino™ AVR and Raspberry Pi®
IoT Builder là một sản phẩm độc đáo được thiết kế để giúp điều khiển các thiết bị điện tử từ xa từ thiết bị di động một cách nhanh chóng và dễ dàng. Thiết kế bảng điều khiển front panel cho điện thoại hoặc máy tính bảng của bạn trong trình chỉnh sửa của Proteus, sau đó lập trình sự tương tác của các điều khiển giao diện người dùng với phần cứng bằng cách sử dụng các khối sơ đồ Visual Designer đơn giản. Bạn có thể sử dụng bo mạch STM32 Arduino Blue Pill với ESP8266 hoặc bạn có thể chọn bo mạch AVR IoT tiêu chuẩn như Yun hoặc Seeduino Cloud. Ngoài ra, bạn có thể sử dụng Raspberry Pi độc lập làm bảng cơ sở - base board.
IoT Builder là gì?
IoT (Internet of Things) Builder là sản phẩm đầu tiên trên thế giới, cung cấp quy trình làm việc hoàn chỉnh cho việc thiết kế các thiết bị IoT trên phần cứng Arduino hoặc Raspberry Pi. Nó có thể được thêm vào sản phẩm Visual Designer for Arduino hoặc Visual Designer for Raspberry Pi để cho phép phát triển giao diện người dùng từ xa cho các sản phẩm thiết kế nhúng.
Quy trình làm việc linh hoạt và trực quan. Bắt đầu bằng cách thiết kế phần cứng sản phẩm trên sơ đồ nguyên lý schematic bằng cách thêm các tấm chắn điện tử “electronic shields”, cảm biến “sensors” và bảng đột phá thông qua thư viện ngoại vi “Peripheral gallery”. Sau đó, sử dụng thư viện điều khiển “Controls gallery” để tạo bảng điều khiển Front panel, thêm và đặt các mặt số, nút, biểu đồ, v.v. trong trình chỉnh sửa IoT Builder editor. Cuối cùng, sử dụng các phương pháp sơ đồ Visual Designer hoặc C code (Arduino) / mã Python code (Raspberry Pi) để liên kết giao diện người dùng với thiết bị điện tử.
Bất cứ lúc nào trong quá trình phát triển, toàn bộ hệ thống đều có thể được kiểm tra và gỡ lỗi trong trình mô phỏng Proteus VSM. Điều này thực thi chương trình thông qua mô hình CPU và mọi thiết bị ngoại vi được kết nối cũng như mô phỏng sự tương tác của bảng mặt trước với thiết bị điện tử.
Sau khi mọi thứ hoạt động như mong đợi, firmware và bảng điều khiển front panel có thể được triển khai vào phần cứng thực chỉ bằng một nút bấm. Bước cuối cùng là hướng thiết bị mục tiêu vào phần cứng, xem thiết bị thu được bảng điều khiển phía trước qua TCP/IP và sau đó điều khiển phần cứng từ xa từ điện thoại di động, máy tính bảng hoặc PC của bạn.
-
Thiết kế phần cứng của bạn với thư viện Ready-made shields/hats Library.
-
Thiết kế bảng điều khiển front panel của bạn với các nút bấm, công tắc, mặt số, màn hình và biểu đồ.
-
Liên kết giao diện người dùng và phần cứng bằng các phương pháp sơ đồ trong chương trình cơ sở của bạn.
-
Mô phỏng toàn bộ hệ thống và gỡ lỗi từng bước để tìm và khắc phục sự cố.
-
Điều khiển mô phỏng hoặc phần cứng thực từ điện thoại hoặc máy tính bảng của bạn.
Bạn có thể làm gì với IoT Builder?
Tài liệu kỹ thuật
IoT Builder là một mô-đun bổ sung cho cả Visual Designer và Proteus VSM for Arduino cũng như cho sản phẩm Visual Designer for Raspberry Pi. Bạn có thể sử dụng IoT Builder để thiết kế giao diện người dùng (công tắc, nút bấm, vòng xoay, màn hình, v.v.) cho điện thoại di động hoặc máy tính bảng của mình, sau đó sử dụng Visual Designer để lập trình phần cứng hoạt động với GUI từ xa bằng các phương pháp cấp cao.
IoT Builder loại bỏ nhu cầu người dùng phải biết về HTML, JavaScript, Python và kết nối TCP/IP. Tất cả sự phức tạp của lớp vận chuyển và giao tiếp giữa phần cứng và bảng điều khiển phía trước từ xa được loại bỏ khỏi chương trình người dùng, để lập trình viên thực hiện chức năng mong muốn.
Bảng điều khiển front panel được vẽ trong trình chỉnh sửa bảng và logic cho giao diện người dùng được lập trình ở mức cao với các khối sơ đồ hoặc lệnh gọi phương thức Arduino C / Raspberry Pi Python.
Do đó, IoT builder rất phù hợp để giảng dạy các nguyên tắc của ứng dụng dựa trên IoT cho người mới bắt đầu và cũng là công cụ tạo mẫu nhanh cho các nhà phát triển có kinh nghiệm hơn.
|
|
IoT Builder hoạt động như thế nào?
IoT Builder cho phép các nhà phát triển thiếu kinh nghiệm tạo ra các ứng dụng trong đó thiết bị dựa trên Arduino hoặc Raspberry Pi có thể được điều khiển bằng điện thoại di động, máy tính bảng hoặc thiết bị hỗ trợ web.
Bộ phần mềm này bao gồm một ngăn xếp phần mềm “software stack” cho phần cứng, một ứng dụng di động và trình chỉnh sửa bảng điều khiển 'Virtual Front Panels'. Phần tử cuối cùng này cho phép vẽ Bảng bảng điều khiển ảo trong Proteus, sử dụng thư viện gồm các phần tử giao diện người dùng được xác định trước như nút, công tắc, núm xoay và màn hình cùng với các phần tử phức tạp hơn như nhật ký thông báo và phần tử đồ thị. Sau đó, chúng có thể được điều khiển theo cách giống hệt như cách điều khiển các thiết bị ngoại vi phần cứng trong Visual Designer, cụ thể là bằng cách kéo và thả các khối hành động vào sơ đồ.
Như mọi khi với Proteus, firmware và giao tiếp bảng mặt trước có thể được mô phỏng hoàn toàn và sau đó khi triển khai, bảng mặt trước ảo được cung cấp cho thiết bị điều khiển bởi một máy chủ web vi mô chạy trên thiết bị phần cứng.
|
|
Thiết kế bảng điều khiển Front Panel
Thiết kế bảng điều khiển front panel là giao diện người dùng từ xa cho thiết bị của bạn và những gì bạn sẽ thấy và tương tác trên trình duyệt di động, máy tính bảng hoặc internet của mình. Trong IoT Builder, thiết kế bảng điều khiển front panel được tạo bằng cách vẽ drawing thay vì mã hóa coding. Các điều khiển như nút, màn hình và mặt số được thêm vào dự án và sau đó người dùng sắp xếp chúng trên bảng điều khiển một cách phù hợp.
Một thư viện điều khiển phong phú được cung cấp sẵn và một số chủ đề từ hiện đại đến steampunk đều có sẵn để giúp tạo bảng điều khiển GUI tuyệt đẹp cho dự án của bạn. Những người dùng cao cấp hơn thậm chí có thể sử dụng các công cụ đồ họa vector như Inkscape để thiết kế các chủ đề điều khiển của riêng họ.
Cái hay của việc tạo bảng điều khiển front panel như thế này là mỗi điều khiển IoT trong Proteus đều có trình điều khiển riêng, giúp cho việc tương tác giữa bảng điều khiển front panel và chương trình phần mềm đơn giản hơn rất nhiều.
|
|
Điều khiển chương trình - Program Control
Chương trình firmware program là nơi chúng ta cần tương tác với cả thiết bị ngoại vi phần cứng của thiết bị và bộ điều khiển IoT trên bảng điều khiển front panel từ xa. Điều này cần phải làm việc theo cả hai hướng. Ví dụ: nhấn nút trên bảng điều khiển front panel có thể bật đèn LED trong thiết bị, nhưng dữ liệu cảm biến tương tự từ thiết bị có thể cập nhật màn hình trên bảng mặt trước.
Vì cả thiết bị và bảng điều khiển front panel đều được thiết kế bằng Proteus nên IoT Builder có thể giúp cuộc sống lập trình trở nên dễ dàng hơn nhiều. Cây dự án chứa danh sách các thiết bị ngoại vi bạn đã thêm và cũng là danh sách các điều khiển IoT trong bảng điều khiển phía trước của bạn. Mỗi trong số này mở rộng để hiển thị cho bạn các lệnh gọi hàm cấp cao cho phép bạn kiểm soát chúng. Ví dụ: điều khiển hiển thị sẽ có phương thức print() và cảm biến nhiệt độ sẽ có phương thức readTemp(). Sau đó, bạn có thể kéo và thả các lệnh gọi phương thức này trực tiếp từ cây dự án vào chương trình của mình.
Do chương trình người dùng được trừu tượng hóa khỏi nhiều độ phức tạp ở mức độ thấp, nên IoT Builder giúp việc tạo ra các thiết bị Internet of Things có thể tiếp cận được ngay cả với những lập trình viên mới làm quen.
|
|
Kiểm soát truy cập - Access Control
Bạn cũng có thể đặt các cấp độ kiểm soát truy cập khác nhau cho ứng dụng IoT của mình. Kiểm soát đăng nhập cho phép người dùng nâng cao lên trạng thái quản trị viên và tất cả các điều khiển cũng như tab của bảng điều khiển phía trước có thể điều chỉnh hành vi của họ (bị vô hiệu hóa, ẩn, v.v.) dựa trên việc người dùng có đăng nhập hay không. Hai sự kiện đăng nhập và đăng xuất cũng có thể được kéo vào chương trình chính cho phép bạn dễ dàng phản hồi những thay đổi thành công về trạng thái người dùng trong chương trình chương trình cơ sở. Điều này cung cấp một cách thực sự dễ dàng để dạy và tìm hiểu về kiểm soát truy cập và đặc quyền của người dùng trong bối cảnh ứng dụng được kết nối.
|
|
Mô phỏng và gỡ lỗi - Simulate and Debug
IoT Builder sử dụng công nghệ mô phỏng Proteus VSM để chương trình firmware program của bạn được mô phỏng cùng với mọi thiết bị điện tử mà bạn đã thêm vào sơ đồ. Giao diện người dùng từ xa cũng được hiển thị bên trong Proteus để bạn có thể kiểm tra nhanh chóng và dễ dàng sự tương tác của GUI với phần cứng ảo của mình.
Ngoài ra, bạn có thể sử dụng ứng dụng IoT Controller miễn phí dành cho iOS và Android để điều khiển quá trình mô phỏng đang chạy. Khi điện thoại hoặc máy tính bảng nằm trên cùng mạng với PC, ứng dụng có thể tự động phát hiện và kết nối với phần cứng mô phỏng để người dùng có thể trực tiếp điều khiển mô phỏng từ thiết bị di động của họ.
Bất kể bạn làm việc theo cách nào, toàn bộ khả năng sửa lỗi của Proteus đều có sẵn để bạn có thể đặt các điểm dừng trong chương trình cơ sở của mình và thực thi mã một bước để nhanh chóng tìm và khắc phục sự cố.
|
|
Triển khai - Deploy
Khi hệ thống của bạn đã được gỡ lỗi và thử nghiệm trong mô phỏng, bạn có thể chuyển sang phần cứng vật lý chỉ bằng một nút bấm (Raspberry Pi trước tiên yêu cầu cấu hình một lần). Proteus có thể phát hiện phần cứng Arduino Yun, Uno+ESP8266 hoặc Raspberry Pi của bạn nếu nó nằm trên cùng một mạng và định cấu hình trước các tùy chọn SSH cho bạn. Do đó, trong hầu hết các trường hợp, bạn có thể triển khai không dây tới phần cứng vật lý chỉ bằng cách nhấn nút. Ngoài ra, trong trường hợp Arduino, bạn có thể kết nối cáp USB với Yun, cáp này sẽ xuất hiện dưới dạng mục tiêu lập trình trong đoạn hội thoại lập trình viên của bạn.
Bất kể phương pháp lập trình nào, Proteus đảm nhiệm việc chuyển đồ họa bảng điều khiển và giao diện máy chủ web sang phần cứng ngoài việc lập trình chương trình cơ sở. Sau đó, bạn có thể sử dụng ứng dụng Apple hoặc Android IoT Controller của chúng tôi trên thiết bị di động hoặc trình duyệt web để kết nối và điều khiển phần cứng.
|
|
MQTT
MQTT là viết tắt của Truyền tải từ xa truy vấn tin nhắn “Message Query Telemetry Transport”. Đây là một giao thức nhắn tin publish/subscribe, cực kỳ đơn giản và nhẹ, được thiết kế cho các thiết bị hạn chế và mạng có băng thông thấp, độ trễ cao hoặc không đáng tin cậy. MQTT được hỗ trợ trực tiếp bên trong sản phẩm IoT Builder, giúp dễ dàng thiết lập hệ thống nhiều thiết bị và quản lý thông tin liên lạc giữa chúng. Có hai điều chính bạn có thể làm với MQTT và Proteus.
Bạn có thể gửi lệnh để kiểm soát đầu ra. Tại đây, thiết bị di động của bạn kết nối với thiết bị điều khiển qua Wi-Fi và tải bảng điều khiển front panel ảo. Sau đó, nó truyền lệnh dành cho thiết bị thông qua giao diện người dùng từ xa. Lệnh này được gửi đến máy chủ MQTT server. Thiết bị thiết bị sẽ nhận được lệnh khi thức dậy và đăng nhập với máy chủ MQTT server và firmware sẽ diễn giải và thực thi lệnh.
Bạn có thể đọc và xuất bản dữ liệu từ cảm biến. Tại đây, thiết bị di động của bạn kết nối với Raspberry Pi qua Wi-Fi và tải bảng điều khiển front panel ảo. Sau đó, nó truyền lệnh dành cho thiết bị cảm biến thông qua giao diện người dùng từ xa. Lệnh này được gửi đến máy chủ MQTT server. Thiết bị cảm biến sẽ nhận được lệnh khi kiểm tra với máy chủ MQTT server và firmware trên lệnh sẽ được giải thích và thực thi.
Trong cả hai trường hợp, giao thức MQTT được sử dụng làm cầu nối giữa thiết bị (arduino) và bộ điều khiển (raspberry pi). Sử dụng trình môi giới trên đám mây là không cần thiết nhưng có nghĩa là thiết bị có thể ngủ trong thời gian dài giúp tiết kiệm điện. Trong môi trường kiểm tra lớp học, nên có trình môi giới trên PC vì bạn sẽ thấy phần gỡ lỗi trên dấu nhắc lệnh của trình môi giới và kết nối mạng sẽ không đáng kể.
|
|
|