Đây là một chủ đề tôi đã suy nghĩ trong một thời gian, đặc biệt là vì khái niệm "IoT" đã nổi xung quanh rất nhiều gần đây.
Tôi sẽ bắt đầu với những gì tôi muốn nói khi tôi nói "IoT" . Tôi biết rằng thuật ngữ IoT có thể có nghĩa là những thứ khác nhau và đôi khi nó bị sử dụng sai. Nó có thể là một thuật ngữ không được xác định rõ ràng và có thể dẫn đến các cuộc thảo luận lớn xung quanh ý nghĩa chính xác của nó, bản thân tôi không biết định nghĩa chính xác và được chấp nhận rộng rãi của thuật ngữ này. Vì vậy, đối với tôi IoT là một khái niệm, một khái niệm xác định khả năng kết nối với một thiết bị nhúng từ xa thông qua internet từ một thiết bị nhúng khác hoặc từ điện thoại di động . Đơn giản vậy thôi.
Trong bối cảnh này, mục đích của kết nối không thành vấn đề, nếu bạn có thể kết nối một thiết bị trong văn phòng của mình với một thiết bị khác ở nhà hoặc nếu bạn có thể kết nối với một thiết bị tại nhà từ điện thoại di động của mình, tất cả điều này thông qua internet, sau đó chúng ta đang nói về các thiết bị IoT (các thiết bị nhúng, không phải điện thoại).
Vì vậy, khi đã đồng ý về ý nghĩa của IoT, bây giờ tôi sẽ mô tả những gì tôi đang cố gắng đạt được.
Những gì tôi đang cố gắng đạt được chính xác là những gì tôi mô tả về định nghĩa của tôi về IoT.
Tôi muốn có một hoặc một số thiết bị nhúng ở nhà được kết nối với bộ định tuyến internet của mình, bằng ethernet hoặc wifi và có thể kết nối với chúng từ xa với một thiết bị nhúng khác ở một vị trí từ xa (và từ xa tôi có nghĩa là không phải trên cùng một mạng) và cũng có thể kết nối với họ bằng ứng dụng giám sát trên điện thoại của tôi
Ví dụ: tôi có thể có một thiết bị nhúng đơn giản hoạt động như một công tắc bật / tắt được nối với công cụ mở cửa nhà để xe của tôi và một thiết bị nhúng khác hoạt động như một nút lớn màu đỏ trên bàn làm việc để tôi có thể nhấn nút màu đỏ trong bàn làm việc của mình và cửa nhà để xe mở ra.
Một ví dụ khác là có một thiết bị nhúng có khả năng ADC có thể theo dõi nhiệt độ của nhà tôi và gửi cho tôi một cảnh báo khi nó đạt đến ngưỡng. Thông báo có thể được nhận bằng một ứng dụng Android đơn giản hoặc bởi một thiết bị nhúng khác có màn hình nhỏ ngồi trên bàn làm việc của tôi.
Những ví dụ này có thể ngớ ngẩn nhưng chỉ để minh họa các tình huống có thể xảy ra và các trường hợp sử dụng cho những gì tôi đang cố gắng đạt được. Cuối cùng, ý tưởng là như nhau, kết nối một thiết bị nhúng với thiết bị khác thông qua internet.
Một điều cần làm rõ là việc trao đổi dữ liệu giữa các thiết bị này sẽ rất nhẹ, chỉ cần một vài byte mỗi lần, không cần phải có hàng trăm kilobyte để được hoán đổi giữa các thiết bị.
Ngoài ra, loại "thiết bị nhúng" mà tôi đang đề cập đến là những thiết bị đơn giản nhưng có khả năng dựa trên bộ vi điều khiển cortex-m4 100 MHz hoặc 200 MHz. Và đó là điều quan trọng để làm rõ bởi vì sẽ không có bất kỳ thư viện Linux hoặc phức tạp nào chạy trên các thiết bị đó. Cuối cùng, thật lãng phí tài nguyên và hoàn toàn không cần thiết để có bộ xử lý mạnh mẽ chạy Linux chỉ để bật và tắt bóng đèn . Trong mọi trường hợp, tôi dự định sử dụng BeagleBoard, Raspberry Pi hoặc bất kỳ bảng nào khác giống như các thiết bị nhúng của tôi. Chỉ cần Vi điều khiển vì không phức tạp hơn mức cần thiết.
Tôi không biết nhiều về nền tảng IoT và các loại giải pháp phức tạp ngoài kia. Khi tôi bắt đầu hành trình tìm hiểu cách kết nối một thiết bị nhúng với thiết bị khác thông qua internet, tôi tình cờ thấy một vài trang web có dịch vụ IoT.
Tôi biết rằng có một số dịch vụ đám mây IoT như:
Chỉ để một vài tên. Các vấn đề chính với đó là chi phí và sự phức tạp. Bạn phải trả tiền để có được các dịch vụ đó và bạn cũng phải học cách triển khai tất cả các dịch vụ họ có, trong trường hợp bạn cần tất cả, API của họ và có thể là một loạt các thứ khác mà tôi không cần thiết chỉ có thể trao đổi một số byte giữa các thiết bị. Tôi chỉ muốn một cái gì đó đơn giản hơn thế, một cái gì đó tôi có thể tự làm.
Bạn có thể nói rằng việc thực hiện "đám mây" của riêng tôi, nếu đó là việc tôi phải làm, không đơn giản và đôi khi tốt hơn là sử dụng các loại dịch vụ đó vì đơn giản nhưng có hai lý do chính tôi muốn biết triển khai các dịch vụ IoT của riêng tôi.
Lý do chính là tôi muốn tự làm điều đó. Tôi không muốn dựa vào bên thứ 3 để kết nối các thiết bị của mình với nhau và vì tôi sẽ phát triển mã và phần cứng cho các thiết bị của mình nên sẽ tốt hơn khi tạo phương tiện của riêng tôi để kết nối chúng dưới dạng thiết bị IoT.
Lý do thứ hai là để học cách làm điều đó. Khi biết tất cả những điều cần thiết tôi cần để đạt được điều này, tôi sẽ hiểu rõ hơn về thế giới IoT.
Ngoài ra, tôi muốn đề cập rằng tôi thành thạo C và tôi sử dụng Linux như hệ điều hành hàng ngày của tôi tại nơi làm việc cũng như ở nhà của tôi, vì vậy xin vui lòng tránh các công cụ windows vì nó vô dụng với tôi. Tôi không sợ bất cứ điều gì tôi phải thực hiện trong C cho các thiết bị nhúng của mình hoặc trên Linux để thực hiện bất cứ điều gì cần thiết để đạt được mục tiêu của mình.
Vì vậy, câu hỏi của tôi là, cần phải thực hiện những gì, và ở đâu, để có thể kết nối hai hoặc nhiều thiết bị nhúng với nhau với mục đích trao đổi dữ liệu giữa chúng?
Câu hỏi này Tôi có thể sử dụng gì để tạo IoT trên máy chủ của chúng tôi? có một cái gì đó tương tự nhưng bị đóng và không có bất kỳ câu trả lời nào, cũng giả sử một cơ sở hạ tầng đám mây đã có sẵn sẽ được sử dụng. Vì vậy, nó không giúp tôi.
Bài đăng khác Các dịch vụ IoT nào có sẵn để lưu trữ / gửi / xuất bản dữ liệu chung trong đám mây? có một câu hỏi tương tự nhưng OP đang hỏi rõ ràng về các dịch vụ IoT và tôi đang cố gắng tránh những dịch vụ đó.