Trong đó, với một nước đang phát triển như Việt Nam, đây chính là thời cơ để chúng ta nắm bắt công nghệ cũng như tận dụng để bứt phá phát triển, đưa vào ứng dụng trong thực tiễn, phát tr
TỔNG QUAN VỀ MẠNG LORA
Tổng quan về hệ thống IOT hiện nay
Ngày nay, đi cùng với sự phát triển của xã hội, nhu cầu và đòi hỏi về chất lượng cuộc sống, giảm áp lực công việc ngày càng tăng cao Để đáp ứng được các nhu cầu thiết yếu đó, khoa học kĩ thuật cũng đang ngày một phát triển và được ứng dụng phổ biến trong mọi lĩnh vực giúp tăng năng suất, hiệu quả lao động và giảm thiểu tối đa sức lao động của con người Và đỉnh cao của sự phát triển đó là tiến tới một mạng lưới các hệ thống tự vận, tự điểu khiển và kết nối được với nhau Ở đó, mọi đồ vật, con vật hoặc con người được cung cấp các định danh riêng và khả năng tự động truyền tải dữ liệu qua một mạng lưới mà không cần sự tương tác giữa con người với con người hoặc con người với máy tính Người ta gọi đó là IOT ( internet of things) - mạng lưới thiết bị kết nối Internet Thế giới đang chuyển mình mạnh mẽ trước xu thế IOT và làn sóng đó cũng nhanh chóng du nhập vào các quốc gia đang phát triển như Việt Nam Với nền tảng dựa trên các loại mạng không dây đang được phổ biến hiện nay như Wifi, Bluetooth , ZigBee… và mới nhất là Lora với những ưu điểm riêng, hứa hẹn mang lại một bước tiến mới cho công nghệ mạng không dây và giúp cho IOT trở lên hoàn thiện hơn
IOT về cơ bản là sự kết nối của các đối tượng với nhau qua Internet Trong một nghĩa rộng hơn, đây là sự ảo hóa và là một xu hướng công nghệ hiện đại, với mục tiêu thu thập dữ liệu từ những đối tượng chúng ta quan tâm và chuyển đổi chúng thành dạng có thể xử lý trên máy tính, mang lại những giá trị mới, phục vụ cho lợi ích của con người Trong mô hình IOT, mọi đồ vật, con vật hay kể cả con người đều có thể được nhận biết và định dạng (identifiable) để phân biệt bản thân đối tượng đó với những thứ xung quanh nhờ đó chúng dễ dàng trao đổi và truyền tải thông tin, dữ liệu một cách hiệu quả, tiện lợi thông qua mạng Internet mà không cần sự tương tác trực tiếp giữa người với thiết bị hay giữa người với người Điều đó có nghĩa là khi mọi thiết bị đã được “Internet hóa”, chỉ với một thiết bị thông minh, chẳng hạn như Smart tivi,Smartphone hay thậm chí chỉ bằng một chiếc smartwatch nhỏ bé trên tay đã được hỗ trợ IoT, người dùng có thể điều khiển chúng mọi lúc mọi nơi mà không bị giới hạn về mặt thời gian và không gian; nhờ đó tiết kiệm được tối đa thời gian, công sức và giảm tải áp lực cho con người, mang lại lợi ích về kinh tế vô dùng to lớn, được ứng dụng trong hầu hết các lĩnh vực trong đời sống thường ngày cũng như trong sản xuất, công, nông nghiệp… Theo nghiên cứu của hãng nghiên cứu và phân tích thị trường Machina Research ước tính sẽ có 27 tỷ kết nối IoT vào năm 2022 và cơ hội thu nhập của ngành này sẽ đạt tới 3 nghìn tỷ dollar Mỹ. Để thấy rõ được những gì mà IOT mang lại chúng ta sẽ tìm hiểu qua một số ứng dụng trong ba lĩnh vực chính mà mô hình IOT đang được áp dụng: nông nghiệp, sản xuất và trong cuộc sống Một trong những ngành có sự thay đổi nhiều nhất kể từ khi IOT ra đời đó chính là nông nghiệp thông minh So với nên nông nghiệp thủ công truyền thống, thì nông nghiệp có sử dụng các ứng dụng IOT đem lại hiệu quả lớn hơn rất nhiều, đồng thời tiết kiệm đáng kể sức lao động của con người Với những thiết bị đã được tự động hóa, ta dễ dàng theo dõi được vị trí và tình trạng của vật nuôi, giám sát các điều kiện phát triển các loại cây trồng, và tối ưu hóa hiệu suất của thiết bị nông nghiệp… Các loại cây trồng có giá trị cao có thể được theo dõi bởi các cảm biến không dây nhằm giúp ghi nhận các thông số (nhiệt độ không khí, độ ẩm, nhiệt độ đất, độ ẩm của đất, áp suất khí quyển, bức xạ mặt trời, đường kính thân cây/ gốc/ quả, tốc độ và hướng gió, lượng mưa…), với các dữ liệu thời gian thực được thu thập đường lưu trữ và xử lý thông qua điện toán đám mây cho phép truy cập thông qua máy tính kết nối internet hoặc smartphone Thông tin này tiện lợi trong việc đồng bộ hệ thống tưới tiêu và sử dụng các biện pháp can thiệp khác để phù hợp với điều kiện trồng tại từng địa phương
Hình 1.1 Mô hình giám sát cây trồng ứng dụng IOT Hình 1.1 mô tả khái quát một mô hình giam sát cây trồng thông minh Tại đó, các cảm biến được sử dụng để đo độ ẩm, nhiệt độ, ánh sáng, độ PH,…của cây trồng rồi truyền về máy tính qua mạng không dây để người dùng có thể dễ dàng theo dõi Các dữ liệu này được lưu trữ trực tuyến ở trong Cloud
Hay một ví dụ khác, thứ mà đang được nhắc đến rất nhiều hiện nay là hệ thống nhà thông minh Một mô hình “Smart house” điển hình sẽ có các tính năng cơ bản: khi chúng ta bước gần về đến cửa nhà, cơ chế điều khiển tự động tích hợp trong chìa khóa (hay thậm chí là điện thoại, thẻ tín dụng, smartwatch) của chúng ta sẽ tự động mở cửa từ xa Khóa cửa sẽ gửi tín hiệu không dây đến hệ thống mạng nội bộ trong nhà, trước hết là khiến đèn và hàng lang được kích hoạt Hệ thống điều hòa, vốn đã chuyển sang trạng thái chờ khi chúng ta rời đi, sẽ tiếp tục hoạt động trở lại Chiếc tủ lạnh thông thường của bạn khi không được kết nối với thiết bị nào Nếu muốn ghi lại nhiệt độ ở từng thời điểm của tủ để theo dõi, chúng ta chỉ có cách đo đạc và ghi lại thủ công rồi nhập vào một máy tính hay thiết bị lưu trữ nào đó Nhưng nếu chỉ cần có thêm của một thiết bị cảm biến rất nhỏ, tất cả các số liệu này sẽ được tự động chuyển về máy tính một cách đầy đủ và chính xác mà không cần bất cứ tác động nào của con người Trong các ngành công nghiệp, sản xuất, IOT cũng dần trở lên phổ biến và đang được áp dụng rất hiệu quả Tập đoàn General Electric (GE) của Mỹ được xem là một ví dụ tiêu biểu trong việc khai thác IoT Tập đoàn này có thể tiên liệu được chu trình bảo trì của một động cơ máy bay hay tua-bin điện gió nhờ tích hợp IoT Bằng cách phân tích dữ liệu thu thập được, GE tiết kiệm được rất nhiều thời gian và chi phí Các kỹ sư của GE biết được khi nào sẽ phải tiến hành bảo dưỡng một động cơ thay vì cách làm truyền thống là tự đặt ra lịch trình bảo dưỡng cứng nhắc nhưng chưa chắc đã thực sự cần thiết với thiết bị Không những thế, việc lập lịch cho các thiết bị tự hoạt mà không cần đến sự tác động của con người giúp giảm bớt các chi phí về nhân công, nâng cao hiệu quả lao động và rút ngắn thời gian trong sản xuất Ngoài ra, còn rất nhiều lĩnh vực khác cũng đang được sử dụng các ứng dụng IOT và đem lại hiệu quả tích cực Có thể kể đến ngay như trong bán lẻ hàng hóa, y tế, bảo vệ môi trường, vận tải hay giao thông thông minh…
Sự phát triển của IoT được thúc đẩy bởi 4 yếu tố quan trọng Đầu tiên là cảm biến chi phí thấp, thứ hai là công nghệ di động, tiếp theo đó là khả năng phân tích dữ liệu lớn, và cuối cùng là điện toán đám mây Cảm biến giá rẻ đang nổi lên như là một trình điều khiển rất quan trọng đối với sự phát triển của hệ thống IOT, với đặc điểm tiện lợi và nhỏ gọn hơn bao giờ hết để có thể gắn vào bất kì đối tượng, thiết bị nào, chúng sẽ là con mắt và mọi thay đổi của thế giới xung quanh Còn đối với doanh nghiệp thì tính di động lại đang là yếu tố thiết yếu và tập trung tất cả mọi thứ trong một ứng dụng.
Doanh nghiệp phải phát triển các ứng dụng của mình để có thể biết và theo dõi vị trí một cách tự động của bất cứ thiết bị CNTT nào Và khi có nhiều kết nối được thực hiện, sẽ dẫn đến khối lượng dữ liệu lớn và là tiền đề cho khái niệm bùng nổ dữ liệu Ví dụ khi nói về thành phố thông minh thì bản chất ở đây là thu thập tất cả dữ liệu từ những đối tượng kết nối và chuyển chúng thành thông tin Khả năng phân tích dữ liệu lớn đóng vai trò quan trọng để điều khiển, quản lý cả hệ thống Cuối cùng, nơi lưu trữ, xử lý những dữ liệu đó của chính là điện toán đám mây Tại sự kiện NetEvent 2016 diễn ra hồi tháng 5/2016 vừa qua tại Singapore với chủ đề “The IoT Will Disrupt Everything – Or Will It? You Be the Judge”, nhiều chuyên gia đã nhận định rằng điện toán đám chính là nơi tạo ra khả năng, sức mạnh và là nguồn lưu trữ khổng lồ cho IoT với những ưu điểm như an toàn, bảo mật cao, dung lượng không giới hạn, tối đa chi phí, tốc độ và đơn giản, dễ sử dụng
Mặc dù khái niệm Internet of Things đã được đưa ra từ lâu (bởi Kevin Ashton vào năm
1999) Nhưng chỉ trong vài năm gần đây nó mới được nhiều doanh nghiệp cũng như các nhà khoa học để ý và tập trung phát triển mạnh mẽ, trở thành tâm điểm cho sự đầu tư trong lĩnh vực khoa học kĩ thuật
Và khi đã gây được sự chú ý của cộng đồng, IoT đã cho thấy tiềm năng phát triển của mình bằng những con số đáng kinh ngạc:
Dự báo Internet of Things đến năm 2020:
Hình 1.2 Thống kê dự đoán IoT tới năm 2021.
Theo ước tính của công ty ABI Research về IOT đến năm 2020 cho kết quả:
+ 4 tỷ người kết nối với nhau
+ 4 ngàn tỷ USD doanh thu
+ Hơn 25 tỷ hệ thống nhúng và hệ thống thông minh
+ 50 ngàn tỷ Gbs dữ liệu
Rõ ràng, Internet of Thing có thể thay đổi hoàn toàn cách sống của con người trong tương lai không xa Khi mọi vật đã được "Internet hóa" người dùng có thể điều khiển chúng từ bất kỳ nơi nào, không bị giới hạn về mặt không gian và thời gian chỉ cần một thiết bị thông minh có kết nối mạng không dây.
Lora và mạng truyền thông Lora
Hiện nay có rất nhiều các mạng không dây đang được sử dụng trong ứng dụng IOT như Wifi, Bluetooth, hay các mạng di động… Bluetooth thích hợp để dùng cho việc điều khiển thiết bị ở khoảng cách gần, xung quanh người sử dụng Wifi có khoảng cách xa hơn, kết nối được trong phạm vi một vài tòa nhà còn mạng di động thì thuộc mạng diện rộng, có khoảng cách rất xa nhờ có các trạm thu phát sóng Chúng ta đã khá quen thuộc với Wi-Fi và Bluetooth vì chúng xuất hiện thường trực xung quanh, được áp dụng rộng rãi theo tiêu chuẩn và phục vụ các ứng dụng liên quan đến truyền thông thiết bị cá nhân khá tốt Hiện tại rất nhiều thiết bị đã dùng một trong hai hoặc cả hai kết nối này, từ smartphone, TV, tủ lạnh, lò vi sóng cho đến các bóng đèn thông minh Bên cạnh đó, những thiết bị mang tính công nghiệp hơn, chẳng hạn như máy bơm, van áp suất, robot thì dùng Wi-Fi, hoặc có thể là Zigbee ZigBee còn được gọi là chuẩn 802.15.4, nó là một giao tiếp tầm gần được kỳ vọng sẽ tăng trưởng mạnh trong vòng 5 năm tới Trong khi đó, mạng di động thì có thể được dùng để theo dõi xem những tài sản, gói hàng đang luân chuyển đến đâu, hoặc để giám sát các phương tiện giao thông công cộng nhờ khả năng bao phủ tầm xa của mạng Ví dụ, nhà mạng AT&T ở Mỹ đã cung cấp một dịch vụ sử dụng thẻ SIM để theo dõi các tác phẩm nghệ thuật khi chúng được chuyển giữa các cuộc triển lãm, hoặc khi đóng thùng để chuyển đi những nơi xa hơn
Tuy nhiên tất cả các mạng không dây kể trên mỗi loại đều có những hạn chế nhất định riêng Rõ ràng Wi-Fi và ZigBee không thể phủ sóng đi xa Nếu chỉ dùng trong nhà thì ổn, nhưng khi đưa vào các xưởng sản xuất, các cánh đồng hàng trăn hecta, hệ phức hợp khai thác dầu mỏ, đèn đường và nông trại…thì Wi-Fi không còn là lựa chọn tốt.Còn mạng di động thì luôn tiêu tốn rất nhiều năng lượng và gần như yêu cầu bắt buộc phải có bộ sạc nguồn đi kèm cho mỗi thiết bị Vì thế, các mạng kể trên đều chưa phải là những lựa chọn tối ưu nhất Bởi vậy, việc sử dụng một loại sóng radio điện năng thấp có thể phát sóng xa chính là thứ còn thiếu trong lĩnh vực IoT Và gần đây nhất mạng Lorawan ra đời như là chiếc chìa khóa để giải quyết cho vấn đề này và khắc phục được điểm yếu của các mạng không dây khác.
1.2.1 Khái niệm về truyền thông Lora.
LoRa™ (Long Range) là một kỹ thuật điều chế (modulation) dựa trên kỹ thuật Spread- Spectrum là một biến thể của Chirp Spread Spectrum (CSS) duy trì các đặc tính công suất thấp giống như điều chế FSK nhưng làm tăng đáng kể phạm vi truyền thông, giúp truyền khoảng cách xa hơn đáng kể so với các kỹ thuật khác Kỹ thuật không dây LoRa được phát triển bởi Cycleo SAS và sau này được mua lại bởi Semtech.
Cấu trúc mạng điển hình thường được sử dụng với công nghệ LoRa đó là kiến trúc hình sao (Star topology) Để hiểu thêm, thông thường kiến trúc của một mạng LoRaWAN được tổ chức như sau: các thiết bị cuối (end-device) giao tiếp với gateway sử dụng kỹ thuật LoRa và giao thức LoRaWAN, gateway sẽ chuyển tiếp gói tin từ thiết bị đến server thông qua Ethernet hoặc Wifi và server sẽ gửi gói tin đến các end-device theo luồng ngược lại.
Hình 1.3 Kiến trúc hình sao mạng lora.
1.2.2 Đặc tính của mạng truyền thông Lora.
Các gói tin LoRa có thể truyền xa đến 5 Km trong khu vực thành thị và đến 15 Km ở khu vực ngoại ô với tốc độ dữ liệu khoảng 0,3 đến 22 Kbps (điều chế LoRa) hoặc
100 Kbps (điều chế GFSK) Do đó thường sử dụng ở môi trường ngoài trời như các nông trường, trang trại,…
Băng tần làm việc của LoRa từ 430 MHz đến 915 MHz cho từng khu vực khác nhau trên thế giới:
– 433MHz hoặc 866MHz cho châu Âu
– 915MHz cho USA Ở Việt Nam chúng ta hiện LoRa có thể sử dụng ở băng tần 433 MHz với công suất phát được quy định theo văn bản 1/VBHN-BTTTT với công suất phát tương ứng cụ thể như sau:
Hình 1.4 Băng tần sử dụng tại Việt Nam.
Các module LoRa hiện nay có thể sử dụng kỹ thuật điều chế LoRa, là kỹ thuật dựa trên điều chế Chirp Spread Spectrum (CSS), sử dụng tần số chirp với một biến đổi tuyến tính của tần số theo thời gian để mã hóa thông tin, kỹ thuật này giúp cho độ lệch về tần số giữa bộ phát và bộ thu dễ dàng được loại bỏ trong bộ giải mã và còn giúp miễn dịch với hiệu ứng Doppler Độ lệch tần số giữa bộ phát và bộ thu có thể lên đến20% băng thông mà không ảnh hưởng đến hiệu suất giải mã Ngoài ra, các module có thể chuyển sang sử dụng kỹ thuật điều chế FSK hoặc GFSK tùy nhu cầu Các tham số dùng để tùy biến điều chế LoRa là: băng thông (Bandwidth – BW), yếu tố lan truyền (Spreading Factor – SF) và tỉ lệ mã hóa (Code Rate – CR).
Hình 1.5 Minh họa biến thiên tần số theo thời gian phát ra bởi bộ phát LoRa
Tập giao thức của LoRa bao gồm các lớp sau:
Hình 1.6 Tập giao thức mạng LoRa.
1.2.2.5 Ứng dụng của truyền thông Lora.
Với ưu điểm về khoảng cách truyền, tiết kiệm năng lượng và giá thành rẻ LoRa có thể ứng dụng vào rất nhiều lĩnh vực khác nhau, điển hình một vài lĩnh vực có thể ứng dụng mạng LoRa là:
1 Nông nghiệp thông minh (smart argriculture)
2 Thành phố thông minh (smart city)
3 Chăm sóc sức khỏe (smart healthcare)
4 Giám sát môi trường (smart enviroment)
5 Công nghiệp thông minh (Smart Industrial Control)
1.2.2.6 Ưu và nhược điểm mạng Lora
- Chịu ảnh hưởng của nhiễu điện từ gây bởi hiện tượng phóng điện tự nhiên như sét, bão từ trên mặt trời, của các thiết bị điện từ công suất lớn như trạm biến áp, đường dây tải điện…
- Có thể bị kẻ xấu lợi dụng thâm nhập vào hệ thống truyền thông nhằm lấy cắp thông tin, làm lộ thông tin cá nhân và bí mật quốc gia, do đó việc bảo mật thông tin trong hệ thống mạng là nhiệm vụ quan trọng.
- Sóng radio có ảnh hưởng tới sự phát triển của tế bào sống vì thế cần tôn trọng quy tắc an toàn về điện từ khi làm việc và sống trong môi trường phủ sóng radio.
Tổng quan về Wifi [6]
Wifi là từ viết tắt của Wireless Fidelity, nó là một hệ thống hoạt động dựa trên sóng vô tuyến không dây, hay còn được gọi là mạng IEEE 802.11 Wifi cho phép truy cập mạng internet ở một khoảng cách xác định mà không cần kết nối vật lý Có 6 chuẩn Wifi thông dụng hiện nay đó là a, b, g, n, ac, ad Trong đó chuẩn ac được sử dụng rộng rãi nhất trên điện thoại, máy tính và những thiết bị thông minh khác Như vậy bạn vừa xem phần giải thích khái niệm Wifi, mời xem phần giới thiệu hoạt động ngay sau đây.
Sóng Wifi ngày nay được sử dụng rộng rãi phục vụ đời sống con người, đặc điểm của sóng Wifi là thu phát ở tần số từ 2.4 GHz đến 5 GHz cao hơn so với sóng vô tuyến truyền hình, sóng điện thoại và radio nên khá an toàn trong vấn đề bảo toàn thông tin khi truyền và nhận dữ liệu
- Chuẩn 802.11 b : thu phát ở tần số 2.4 GHz và có tốc độ truyền nhận dữ liệu lên đến
11 Megabit/s và sử dụng mã CCk để xử lý
- Chuẩn 802.11 g : cùng đặc điểm với chuẩn b là tần số phát ở 2.4 GHz, nhưng nhờ sử dụng mã OFDM nên tốc độ truyền nhận dữ liệu tăng lên đáng kể, đạt 54 megabit/s
- Chuẩn 802.11 a: chuẩn Wifi này hoạt động ở tần số 5 GHz và có tốc độ truyền tương tự như chuẩn g với 54 megabit/s (cứ mỗi giây có đến 54 megabit dữ liệu được gửi đi )
- Chuẩn 802.11 n : công nghệ Wifi mới phát triển trực tiếp trên chuẩn g do đó tần số hoạt động vẫn dữ nguyên là 2.4 GHz nhưng tốc độ truyền tăng lên đáng kể Lên đế
300 megabit/s và chỉ sau một thời gian ngắn, tốc độ của chuẩn này đã tăng lên đến 450 Mb/s.
- Chuẩn 802.11 ac : hoạt động trên băng tần 5 GHz là một trong số những chuẩn Wifi có số thiết bị được tích hợp rộng lớn nhất hiện nay.
Tổng quan về Node MCU [2]
ESP32 là vi điều khiển năng lượng thấp có hỗ trợ WiFi và dBluetooth chế độ kép. Dòng ESP32 sử dụng bộ vi xử lý Tensilica Xtensa LX6 ở cả hai biến thể lõi kép và lõi đơn, và bao gồm các công tắc antenna tích hợp, RF balun, bộ khuếch đại công suất, bộ khuếch đại thu nhiễu thấp, bộ lọc và module quản lý năng lượng ESP32 được chế tạo và phát triển bởi Espressif Systems, một công ty Trung Quốc có trụ sở tại Thượng Hải, và được sản xuất bởi TSMC bằng cách sử dụng công nghệ 40 nm.[2][3] ESP32 là sản phẩm kế thừa từ vi điều khiển ESP8266.
1.4.2 Tính năng của NODE MCU.
CPU: Bộ vi xử lý Xtensa lõi kép (hoặc lõi đơn) 32-bit LX6, hoạt động ở tần số 240 MHz (160 MHz cho ESP32-S0WD và ESP32-U4WDH) và hoạt động ở tối đa 600 MIPS (200 MIPS với ESP32-S0WD/ESP32-U4WDH)
Bộ đồng xử lý (co-processor) công suất cực thấp (Ultra low power, viết tắt: ULP) hỗ trợ việc đọc ADC và các ngoại vi khi bộ xử lý chính (main processor) vào chế độ deep sleep.
Hệ thống xung nhịp:CPU Clock, RTC Clock và Audio PLL Clock
Bộ nhớ nội: 448 KB bộ nhớ ROM cho việc booting và các tính năng lõi 520 KB bộ nhớ SRAM trên chip cho dữ liệu và tập lệnh
Kết nối không dây: Wi-Fi: 802.11 b/g/n.
Bluetooth: v4.2 BR/EDR và BLE (chia sẻ sóng vô tuyến với Wi-Fi)
Hình 1.7.Sơ đồ chân Kit NODE MCU.
CƠ SỞ LÝ THUYẾT
Giới thiệu board Arduino Uno R3
Arduino thật ra là một bo mạch vi xử lý được dùng để lập trình tương tác với các thiết bị phần cứng như cảm biến, động cơ, đèn hoặc các thiết bị khác Đặc điểm nổi bật của Arduino là môi trường phát triển ứng dụng cực kỳ dễ sử dụng, với một ngôn ngữ lập trình có thể học một cách nhanh chóng ngay cả với người ít am hiểu về điện tử và lập trình Và điều làm nên hiện tượng Arduino chính là mức giá rất thấp và tính chất nguồn mở từ phần cứng tới phần mềm Các ứng dụng nổi bật của board mạch Arduino như robot đơn giản, điều khiển nhiệt độ, phát hiện chuyển động, game tương tác. Board Arduino có rất nhiều phiên bản với hiệu năng và mục đích sử dụng khác nhau như: Arduino Mega, Arduino LilyPad Trong số đó, Arduino Uno R3 là một trong những phiên bản được sử dụng rộng rãi nhất Arduino UNO R3 là một dòng Arduino đủ mạnh về tính năng, 20 chân, bộ nhớ đủ cho hầu hết các ứng dụng thông thường.
Bảng 2.1 So sánh các board Arduino.
IC nạp CH340 ATmega16U2 ATmega16U2
5VDC c ng USBổ ho c 6-9VDC chânặ Raw.
5VDC t c ngư ổ USB ho c nguồnặ ngoai cắm t giắcư tròn DC (khuyên dùng 6~9VDC đê đ m b o m cha a ạ ho t đ ngạ ô tốt.
5VDC tư c ngổ USB ho cặ nguồn ngoai cắm tư giắc tròn DC (khuyên dùng 6~9VDC đê đ m b o m cha a ạ ho t đ ng tốt, nếuạ ô b n cắmạ 12VDC thi
IC n ap rất dễ chếtổ va gây h ư h ngo m ch).ạ
Các cổng vào ra Chân Digital: 14 chân.
- Chân Serial: 0 (RX) và 1 (TX): dùng để gửi
(transmit – TX) và nhận (receive – RX) dữ liệu TTL Serial.
6, 9, 10 và 11: Mỗi chân kỹ thuật số này cung cấp tín hiệu Điều chế độ rộng xung có độ phân giải
8 bit Tín hiệu PWM có thế được tạo ra bằng cách sử dụng hàm analogWrite ().
- LED: đượ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.
→ A7) mỗi chân tương tự này có một
ADC sẵn có độ phân giải 1024 bit Theo mặc định, các chân được đo từ mặt đất đến 5V.
A4 và A5 hỗ trợ giao tiếp I2C.
- Chân PWM: có 15 chân gồm các chân 2 → 13 và chân 44, 45, 46 Các chân này được sử dụng làm đầu vào hoặc đầu ra cho thiết bị được thiết lâ ̣p bằng các hàm Mode (), digtalWrite (), digitalRead ()
53 (SS) Các chân này được sử dụng cho giao tiếp nối tiếp với giao thức SPI để liên lạc giữa
2 thiết bị trở lên SPI cho phép bit phải được thiết lập để bắt đầu giao tiếp với các thiết bị khác.
Chân Analog: có 16 chân analog (A0
→ A15) Các chân này được sử dụng như chân đầu vào tương tự cho bô ̣ ADC, nếu không sử dụng nó hoạt động như chân digital bình thường Nó được thiết lâ ̣p bởi các hàm pinMode () khai báo chân, analogRead () để đọc trạng thái chân và nhận giá trị kỹ thuật số cho tín hiệu analog.
0 (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 thường thấy nói nôm na chính là kết nối Serial không dây. Nếu không cần giao tiếp Serial, bạn không nên sử dụng
2 chân này nếu không cần thiết
5, 6, 9, 10, và 11: cho phép bạn xuất ra xung PWM với độ phân giải 8bit (giá trị từ 0 → 28-1 tương ứng với 0V
→ 5V) bằng hàm analogWrite() Nói một cách đơn giản, bạn có thể điều chỉnh được điện áp ra ở chân này từ mức 0V đến 5V chân 20 cho SDA và
21 cho SCK (Tốc độ 400khz) để cho phép liên lạc hai dây với các thiết bị khác. thay vì chỉ cố định ở mức 0V và 5V như những chân khác.
- Chân SPI: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Ngoài các chức năng thông thường,
4 chân này còn dùng để truyền phát dữ liệu bằng giao thức SPI với các thiết bị khác.
- LED 13: trên Arduino UNO có 1 đèn led màu cam (kí hiệu chữ L) Khi bấm nút Reset, bạn 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 Analog: có 6 chân analog(A0 → A5) cung cấp độ phân giải tín hiệu 10bit (0 →210-1) để đọc giá trị điện áp trong khoảng 0V → 5V. Với chân AREF trên board, bạn 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 bạn cấp điện áp 2.5V vào chân này thì bạn có thể dùng các chân analog để đo điện áp trong khoảng từ 0V → 2.5V với độ phân giải vẫn là 10bit.
2 chân A4 (SDA) và A5 (SCL) hỗ trợ giao tiếp I2C/TWI với các thiết bị khác.
2.1.3 Vi điều khiển Arduino Uno R3.
Hình 2.8 Vi điều khiển Arduino Uno R3
Cấu trúc tổng quát của Arduino UNO R3 như sau:
Bảng 2.2 Cấu trúc tổng quát Arduino Uno R3
Vi điều khiển Atmega328P Điện áp hoạt động 5V Điện áp đầu vào (Khuyên dùng) 7- 12V Điện áp đầu vào giới hạn 6-20V
Chân Digital I/O 14 (Với 6 chân PWM output)
Dòng sử dụng I/O Pin 20mA
Dòng sử dụng 3.3V Pin 50mA
Bộ nhớ Flash 32 KB (Atmega328P)
Cảm biến mực nước
Cảm biến mực chất lỏng là cảm biến phát hiện nhận dạng nước bằng cách đo lượng nước / giọt nước của nó bằng một loạt các đường mạch song song Cảm biến mực chất lỏng dễ dàng hoàn thành việc chuyển đổi nước thành tín hiệu analog, và các giá trị analog đầu ra có thể được đọc trực tiếp bởi Arduino để đạt được hiệu quả của báo động mức nước.
Điện áp hoạt động: DC3-5V
Dòng định mức: ít hơn 20mA
Diện tích phát hiện: 40mm x 16mm
Quy trình sản xuất: phun FR4 hai mặt
Độ ẩm hoạt động: 10% -90% không ngưng tụ
Kích thước: 62mm x 20mm x 8mm
Hình 2.9 Cảm biến mực nước.
Contactor
Contactor (Công tắc tơ) hay còn gọi là Khởi động từ là khí cụ điện hạ áp, thực hiện việc đóng cắt thường xuyên các mạch điện động lực Contactor là thiết bị điện đặc biệt quan trọng trong hệ thống điện Nhờ có contactor ta có thể điều khiển các thiết bị như động cơ, tụ bù, hệ thống chiếu sáng, thông qua nút nhấn, chế độ tự động hoặc điều khiển từ xa.
Khi cấp nguồn trong mạch điện điều khiển bằng với giá trị điện áp định mức của Contactor vào hai đầu cuộn dây quấn trên phần lõi từ đã được cố định trước đó thì lực từ sinh ra sẽ hút phần lõi từ di động và hình thành mạch từ kín (lúc này lực từ sẽ lớn hơn phản lực của lò xo) Contactor bắt đầu trạng thái hoạt động Nhờ bộ phận liên động về cơ giữa lõi từ di động và hệ thống tiếp điểm sẽ làm cho tiếp điểm chính đóng lại và tiếp điểm phụ chuyển đổi trạng thái (khi thường đóng sẽ mở ra và khi thường hở sẽ đóng lại), trạng thái này sẽ được duy trì Khi nguồn điện ngưng cấp cho cuộn dây thì contactor ở trạng thái nghỉ và các tiếp điểm lại trở về trạng thái ban đầu.
Thu phát Lora SX1278 433MHz
Mạch Thu Phát RF SPI Lora SX1278 433Mhz Ra-02 sử dụng chip SX1278 của nhà sản xuất SEMTECH chuẩn giao tiếp Lora, chuẩn Lora mang đến hai yếu tố quan trọng là tiết kiệm năng lượng và khoảng cách phát siêu xa( Ultimate long range wireless solution), ngoài ra nó còn có khả năng cấu hình để tạo thành mạng truyền nhận nên hiện tại được phát triển và sử dụng rất nhiều trong các nghiên cứu về IoT.
Mạch Thu Phát RF SPI Lora SX1278 433Mhz Ra-02 có thiết kế nhỏ gọn dạng module giúp dễ dàng tích hợp trong các thiết kế mạch, mạch được thiết kế và đo đạc chuẩn để có thể đạt công suất và khoảng cách truyền xa nhất, ngoài ra mạch còn có chất lượng linh kiện và gia công tốt cho nên có độ bền cao và khả năng hoạt động ổn định.
Hình 2.11 Hình ảnh về Lora SX1278 Ra-02
Điện áp hoạt động: 1.8 - 3.7V, mặc định 3.3V
Truyền thông lan truyền LoRaTM chuẩn không dây 433MHz
+ 20dBm - 10mW Ổn áp RF ổn định khi điện áp vào thay đổi
Giao tiếp SPI half-duplex
Tốc độ bit lập trình có thể đạt đến 300kbps
Hỗ trợ chế độ FSK, GFSK, MSK, GMSK, LoRaTM và OOK Modulation Mode
Tự động phát hiện tín hiệu RF, chế độ CAD và tốc độ siêu cao AFC
Với công cụ dữ liệu CRC 256 byte
Nhiệt độ làm việc: -40 đến +85 độ.
Phần mềm sử dụng
Arduino IDE là chương trình hỗ trợ khá đầy đủ trong việc lập trình cho vi điều khiển họ AVR, là chương trình soạn thảo sử dụng ngôn ngữ chính là C để viết chương trình cho vi điều khiển Tuy nhiên nó cũng hỗ trợ cả ngôn ngữ lập trình bậc thấp ASSEMBLY Vì vậy ta có thể viết chương trình bằng một trong 2 ngôn ngữ.
Hình 2.12 Giao diện của phần mềm Arduino IDE.
Lý thuyết thiết kế hệ thống nhúng
2.6.1 Quy trình thiết kế Bottom- Up.
Quy trình Bottom-Up trong thực tế thường áp dụng trong các bài toán chưa lựa chọn hay chưa tìm ra được giải pháp công nghệ Mấu chốt của quy trình tập trung chủ yêu và quá trình thử nghiệm với hệ thống và tín hiệu thực, từ đó chọn ra giải pháp công nghệ và linh kiện phù hợp nhất cho bài toán.
Hình 2.13 Quy trình thiết kế Bottom-Up
Quy trình Bottom-Up bắt đầu từ các ý tưởng đơn lẻ, sau đó xây dựng luôn thiết kế kỹ thuật Như ta thấy quy trình hoàn toàn ngược so với Top-Down Quy trình này thường áp dụng có các bài toán chưa lắm chắc về lời giải, người thiết kế mới chỉ có ý tưởng về một vấn đề nào đó và muốn tìm một giải pháp hoặc giải pháp tốt nhất để giải quyết vấn đề Việc giải quyết các ý tưởng có thể 1 hoặc nhiều để có một sản phẩm hoàn chỉnh Ở quy trình này ta cần chú ý có 2 khâu test nhằm kiểm định chính xác lại các thiết kế kỹ thuật và thiết kế nguyên lý trước khi lựa chọn 1 giải pháp tối ứu nhất Chính từ việc thí nghiệm và thiết kế thử hệ thống trước, sau đó mới có thể phân tích nguyên lý để chọn các đặc tính mới, rằng buộc mới cho một hệ thống mới Với quy trình này khâu thiết kế kỹ thuật và Test sau khi xây dựng hệ thống là quan trọng nhất.
Vì với Top-Down việc xây dựng một sản phẩm là theo nhu cầu của người dùng và môi trường đặt hệ thống Còn với Bottom-Up có thể người ta còn chưa tìm ra cách để thiết kế ra sản phẩm đó, hoặc sản phẩm đó chưa hề có trên thị trường, khi đó cả người dùng và người thiết kế chưa thể có thông tin gì về các yêu cầu cho sản phẩm hay các đặt tính kỹ thuật của sản phẩm, vì vậy khâu thiết kế kỹ thuật và Test sau thực thi các kỹ sư phải tìm ra các đặt tính đó, nhằm xác định được các ưu việt cũng như các hạn chế của sản phẩm mới.
2.6.2 Quy trình thiết kế Top-Down.
Quy trình Top-Down thường được áp dụng cho các bài toán đã có giải pháp công nghệ cả về phần mềm cũng như phần cứng Các giải pháp này đã được phát triển trước đó ở các ứng dụng khác, và đã được kiểm định Trong thực tế chúng ta sẽ thấy, bản chất hay mấu chốt của quy trình là vấn đề tìm hiểu và xác định bài toán, làm sao để xác định được chính xác và đầy đủ nhất các yêu cầu cũng các rằng buộc mà hệ thống phải đạt được.
Hình 2.14 Quy trình thiết kế Top-Down
Pha này là pha quan trọng nhất quyết định hệ thống có đạt yêu cầu hay không Một hệ thống nhúng cụ thể phải được đặt vào (nhúng vào) một hệ thống lớn cụ thể Vì thế ta cần phải biết có những yêu cầu nào cho nó, môi trường hay điều kiện làm việc của nó. Thông tin này gọi là các yêu cầu và các điều kiện rằng buộc cho hệ thống, nó giúp cụ thể hoá được việc chọn giải pháp công nghệ và thiết bị cho các kỹ sư thiết kế ở pha sau
- Các yêu cầu: Các thông tin chi tiết về nhiệm vụ mà hệ thống phải giải quyết được,các tham số đầu vào đầu ra, các giới hạn trong hệ thống cụ thể,
- Các rằng buộc: Điều kiện làm việc và các hạn chế như thời tiết, độ ẩm, độ nhiễu, độ chính xác, tính thời gian thực, loại tín hiệu giao tiếp với hệ thống mẹ,
2.6.2.2 Pha thiết kế nguyên lý.
Mục tiêu của pha này là xác định các giải pháp công nghệ từ các yêu cầu đặt ra ở pha Phân tích, từ đó đi thiết kế mô hình, sơ đồ nguyên lý cho toàn bộ hệ thống bao gồm cả phần cứng và phần mềm Để thực hiện bước này thông thường trải qua các bước sau:
- Trước tiên ta phải xây dựng một sơ đồ mô hình tổng quát của toàn hệ thống
- Sau đó phân tách thành các module hay các hệ thống con
- Định giá cho hệ thống, lập kế hoạch phát triển và ước lượng thời gian phát triển hệ thống
- Xây dựng các sơ đồ luồng dữu liệu giữa các module hay các hệ thống con trong hệ thống
2.6.2.3 Pha thiết kế kỹ thuật.
Xây dựng các thiết kế chi tiết cho cả phần cứng phần mềm, các bản thiết kế này sẽ được chuyển sang pha thực thi để xây dựng hệ thống Vì thế ở pha này người thiết kế phải đưa ra các bản thiết kế như:
1 Sơ đồ khối, sơ đồ thuật toán
2 Cấu trúc dữu liệu, dữ liệu chia sẻ
3 Sơ đồ nguyên lý mạch, chi tiết về các đầu vào/ra, loại tín hiệu hay giao thức giao tiếp
4 Thông số linh kiện được chọn hoặc có thể thay thế
5 Các tham số vào/ra cho hệ thống
6 Lựa chọn thiết bị, công cụ phát triển hệ thống, các tài nguyên sẽ sử dụng
Xây dựng sơ đồ quan hệ giữa các module và các hàm trong hệ thống (call graph), sơ đồ này mô tả cách thức tương tác giữa phần cứng và phần mềm trong hệ thống. Để phát hiện và hạn chế tối đa các lỗi mà hệ thống sẽ gặp phải sau khi được xây dựng, ta có thể mô hình hóa các thành phần hoặc toàn bộ hệ thống nếu có thể, nhằm thử nghiệm hoạt động của hệ thống với các đầu vào và tình huống giả lập, đồng thời thử nghiệm tính thân thiện của giao diện người dùng.
2.6.2.4 Pha xây dựng hệ thống.
Từ các bản thiết kế, bước này tiến hành xây dựng hoàn thiện hệ thống trên cả phân mềm và phần cứng Trong suốt quá trình xây dựng phải tuân thủ theo các bước và sơ đồ công nghệ từ các bản thiết kế kỹ thuật Đặc biệt là các tham số vào ra giữa các hàm, điều này ảnh hưởng đến việc tích hợp các module giữa các nhóm làm việc khác nhau hay sự kế thừa từ các module khác Các linh kiện và thiết bị sử dụng phải tuân thủ theo bản thiết kế, nhằm giúp hệ thống thỏa mãn đầy đủ các thông số rằng buộc đã được đặt ra ở pha phân tích
Việc phát triển hệ thống có thể được phân tách thành nhiều nhóm, nhiều phần không cần tuân theo tuần tự, hoặc có thể trên nhiều môi trường khác nhau miễn sao đảm bảo việc trao đổi tham số giữa các module là tương thích và đầy đủ Nếu chúng ta phân tách và thiết kế tốt, việc phát triển hệ thống có thể được tiến hành song song, hoặc kế thừa cái có sẵn, sẽ làm giảm thời gian phát triển hệ thống đáng kể mà vẫn đảm bảo các yêu cầu đã đặt ra
Một số các kỹ thuật nhằm phát hiện và hạn chế lỗi mà người phát triển có thể áp dụng trong pha này là Debug hay mô phỏng Proteus Tuy nhiên trong một bài toán cụ thể việc Debug là rất khó, thông thường người phát triển luôn sử dụng một trình mô phỏng (Proteus) với các phép thử trên các tín hiệu giả lập.
Mục tiêu của pha này là đánh giá khả năng thực thi của hệ thống sau khi đã hoàn thiện, thông thường ta thực hiện các bước sau:
Ngày nay rất nhiều công ty trên nhiều lĩnh vực tuyển dụng nhân sự riêng cho pha này gọi là testing hay các tester Nhiệm của của các Tester không chỉ là kiểm các tính năng của sản phẩm có phù hợp với các yêu cầu đã đề ra hay không, mà còn phải nghĩ ra các tình huống, các mẫu, … để tìm ra các lỗi mà người thiết kế hay người phát triển chưa phát hiện ra được
Các thông tin kết quả của bước này quyết định một sản phẩm có thể được thương mại hóa hay không, hay phải bắt đầu một chu kỳ mới với pha đầu tiên là pha phân tích bao gồm các thông tin mới thu thập được từ bước này.
THIẾT KẾ HỆ THỐNG
Yêu cầu hệ thống
- Thu thập được dữ liệu nhiệt độ, độ ẩm từ node lên gateway.
- Điều khiển thiết bị từ gateway về node dữ liệu.
Thiết kế hệ thống
3.2.1.1 Sơ đồ khối của node dữ liệu.
Hình 3.15 Sơ đồ khối của node dữ liệu.
Khối nguồn: có nhiê ̣m vụ chính là cung cấp nguồn điê ̣n cho toàn bô ̣ mạch điều khiển bao gồm khối vi điều khiển, khối truyền thông, khối chấp hành.
Khối điều khiển trung tâm: sẽ nhâ ̣n tín hiê ̣u từ cảm biến và gửi bản tin đến node trung tâm thông qua module truyền thông SX1278 và điều khiển khối chấp hành
Khối cảm biến: sẽ nhận tín hiệu từ cảm biến mực nước
Khối truyền thông: có nhiệm vụ gửi các gói tin dữ liệu từ node con đến node trung tâm
Khối chấp hành: có nhiệm vụ điều khiển bật tắt thiết bị.
3.2.1.2 Nguyên lý hoạt động của node dữ liệu.
Sau khi cấp nguồn cho vi điều khiển thì Lora sẽ hoạt động thu phát, khi đó node trung tâm gửi tín hiệu điều khiển thì Arduino Nano sẽ nhận tín hiệu qua Lora và điều khiển các thiết bị Cảm biến mực nước đọc mức nước của bể và gửi dữ liệu đến vi điều khiển khi đó vi điều khiển sẽ nhờ thu phát RF 433MHz để truyền dữ liệu đến node trung tâm.
3.2.1.3 Sơ đồ nguyên lý của node dữ liệu.
Hình 3.16 Sơ đồ nguyên lý của node dữ liệu.
Cấp nguồn 9V cho vi điều khiển thì Lora sẽ được cấp nguồn 3V3 sẽ hoạt động thu phát, khi đó node trung tâm gửi tín hiệu điều khiển thì Arduino Nano sẽ nhận tín hiệu qua Lora khi bật thiết bị thì arduino Nano sẽ xuất ra mức 1 khi đó cực C của C1815 sẽ thông xuống GND và diode ổn áp có chức năng ổn định điện áp đầu vào của relay là 5V khi đó sẽ so sánh điện áp tại chân 4 và chân 5 khi điện áp tại chân 5 lớn hơn điện áp tại chân 4 thì lúc đó thiết bị sẽ được bật Cảm biến mực nước đọc dữ liệu mức nước và gửi dữ liệu đến vi điều khiển khi đó vi điều khiển sẽ nhờ thu phát RF 433MHz để truyền dữ liệu nhiệt độ, độ ẩm đến node trung tâm qua module Lora SX1278.
Khối điều khiển trung tâm: có nhiệm vụ như bộ não để truyền dữ liệu đến node trung tâm và nhận dữ liệu điều khiển từ node trung tâm qua khối truyền thông Lora
Hình 3.17 Khối điều khiển trung tâm.
Khối truyền thông: có nhiệm vụ thu phát sóng Lora để thu thập tín hiệu điều khiển từ
Node trung tâm và gửi dữ liệu nhiệt độ, độ ẩm lên Node trung tâm.
Khối cảm biến: Sử dụng cảm biến DHT11 để thu thập dữ liệu nhiệt độ độ ẩm từ môi trường và gửi lên khối điều khiển trung tâm.
Khối chấp hành: Sau khi nhận được tín hiệu điều khiển từ Lora thì vi điều khiển xuất mức logic 1 để điều khiển thiết bị khối chấp hành.
3.2.1.4 Sơ đồ mạch in của node dữ liệu.
Hình 3.21 Sơ đồ mạch in 2D.
Hình 3.22 Sơ đồ mạch in 3D mặt trước và mặt sau.
3.2.1.5 Lưu đồ thuật toán của node dữ liệu.
Hình 3.23 Lưu đồ thuật toán Node con
3.2.2.1 Sơ đồ khối của node trung tâm.
Hình 3.24 Sơ đồ khối của node trung tâm.
Khối nguồn: có nhiê ̣m vụ chính là cung cấp nguồn điê ̣n cho toàn bô ̣ mạch điều khiển bao gồm khối vi điều khiển, khối truyền thông, khối chấp hành.
Khối điều khiển trung tâm: sẽ nhâ ̣n tín hiê ̣u từ cảm biến và gửi bản tin đến node dữ liệu thông qua module truyền thông SX1278 và hiển thị thông số của cảm biến
Khối đầu vào: có chức năng đo mực nước tại node trung tâm
Khối truyền thông: có nhiệm vụ gửi các gói tin dữ liệu từ node con đến node trung tâm
Khối hiển thị: có nhiệm vụ hiển thị mực nước từ node dữ liệu.
3.2.2.2 Nguyên lý hoạt động của node dữ liệu.
Sau khi cấp nguồn cho vi điều khiển thì Lora sẽ hoạt động thu phát, khi đó node trung tâm gửi tín hiệu điều khiển thì Arduino Nano sẽ nhận tín hiệu qua Lora hiển thị dữ liệu lên Blynk và gửi dữ liệu điều khiển qua module Lora.
3.2.2.3 Sơ đồ nguyên lý của node dữ liệu.
Hình 3.25 Sơ đồ nguyên lý của node dữ liệu.
Cấp nguồn 9V cho vi điều khiển thì Lora sẽ được cấp nguồn 3V3 sẽ hoạt động thu phát, khi đó nhận dữ liệu nhiệt độ, độ ẩm từ node dữ liệu và hiển thị trên web.
Khối điều khiển trung tâm: có nhiệm vụ như bộ não để truyền dữ liệu đến node dữ liệu và nhận dữ liệu nhiệt độ, độ ẩm qua khối truyền thông Lora
Hình 3.26 Khối điều khiển trung tâm.
Khối truyền thông: có nhiệm vụ thu phát sóng Lora để thu thập tín hiệu dữ liệu nhiệt độ, độ ẩm từ node dữ liệu và gửi tín hiệu điều khiển đến node dữ liệu.
3.2.2.4 Sơ đồ mạch in của node dữ liệu.
Hình 3.28 Sơ đồ mạch in 2D.
Hình 3.29 Sơ đồ mạch in 3D mặt trước và mặt sau.
Hình 3.30.Lưu đồ thuật toán node trung tâm.