Đề tài Xây dựng ứng dụng của mạng cảm nhận không dây

Chipcon Utility Library (CUL): Ngoài ra, modul HAL trong

CC1010IDE cũng cung cấp một thưviện gồm các khối sẵn có đểxây dựng

việc truyền thông RF được đặt trong Chipcon Utility Library (CUL). Thưviện

này cung cấp đầy đủcác hỗtrợcho các ứng dụng RF đặc trưng và nó còn

cung cấp một giao thức RF đầy đủ.

* Các hàm và các thưviện cơbản

Do việc thiết kếmạng của bài toán mà phần lập trình có 3 phần cơ

bản đó là lập trình cho chip dể đo nhiệt độvà truyền vềnút trung gian, lập

trình cho nút chung gian, lập trình cho nút được nối trực tiếp với máy tính.

pdf67 trang | Chia sẻ: lethao | Lượt xem: 2276 | Lượt tải: 2download
Bạn đang xem trước 20 trang tài liệu Đề tài Xây dựng ứng dụng của mạng cảm nhận không dây, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
ính diện của võng mạc trong sự tiếp xúc với mảng cảm biến nhỏ. Cạnh sau của võng mạc bị kích thích điện (qua một phục hình võng mạc nhân tạo) bởi những cảm biến trên chíp cảm biến thông minh. Những tín hiệu điện này được chuyển đổi vào trong hóa chất 20 những tín hiệu bởi hạch và khác nằm ở dưới những cấu trúc vải mỏng và sự đáp lại được mang qua thần kinh thị giác tới não. Sự truyền Tín hiệu từ những cảm biến thông minh ghi khắc trong mắt những hình ảnh đồng dạng với hướng ngược. Kết quả thần kinh nhận những tín hiệu từ những kích thích được nhặt lên bởi cảm biến ,tín hiệu và cường độ tương đối có thể được truyền ra khỏi cảm biến thông minh. Dần dần. mảng cảm biến sẽ được sử dụng cho cả sự tiếp nhận lẫn sự truyền ở một sự phản hồi hệ thống và kinh niên cấy bên trong mắt. Dù mảng cảm biến và điện tử có liên hệ đã được phát triển, thách thức tại điểm này là kết nối mạng không dây của cảm biến này với một bộ phận xử lý ngoài để xử lý những tín hiệu phức tạp để gửi tới mảng. Từ những lý do để cho thông tin phát ra khỏi võng mạc có lẽ ít hiển nhiên hơn. Mục đích của điều đảo ngược luồng dữ liệu sẽ xác định ánh xạ giữa những ảnh đầu vào và tín hiệu thần kinh kết quả mà cho phép chúng ta nhìn thấy hình. Hiện thời, ánh xạ thực tế từ đầu vào ảnh đến não thì chưa được hiểu cẩn thận. Hình 2.2: Định vị của Cảm biến thông minh bên trong Mắt 21 Những cảm biến với một hệ thống xử lý ngoài là một khía cạnh cơ sở của việc thực thi tiềm năng của một võng mạc nhân tạo. Trong chẩn đoán và những thao tác cứu chữa cũng sẽ yêu cầu sự truyền của dữ liệu từ mảng cảm biến đến một máy tính chủ đặt bên ngoài. Những yêu cầu này ngoài chức năng bình thường (ủa thiết bị, mà truyền thông không dây sử dụng từ một camêra nhúng trong một kính đeo mắt vào trong cảm biến thông minh. Hình 3.3 miêu tả những bước xử lý từ sự tiếp nhận ảnh ngoài đến sự truyền tới võng mạc. Một camêra được lên trên Một khung kính đeo mắt đã có thể định hướng sự gửi ra tới một thời gian thực làm cho sự giảm dữ liệu và xử lý nó ( Chẳng hạn., Sự nhận dạng cạnh ). Camêra được kết hợp với một con trỏ laze tự động lập mã ảnh kết quả vào trong một khuôn dạng gọn rồi truyền theo sóng vô tuyến vào trong để giải mã bởi những chíp. Cài đặt trong Hình 3 cho thấy một thiết bị thu phát không dây mà bên trong thân thể, nhưng không phải bên trong võng mạc. Ngoài mục đích nghiên cứu cuối cùng sẽ hỗ trợ một mảng 1600 chíp cảm biến thông minh, từng cái với một 25 x 25 lưới điện cực. Theo chức năng, những mảng điện cực bên trong trung tâm của điểm võng mạc sẽ phải khuyến khích võng mạc khác nhau so với ngoại biên được đặt những mảng điện cực, mỗi cảm biến thông minh được sẽ có được kết hợp với những cảm biến thông minh khác dựa vào một giải thuật xử lý ảnh được thiết kế để kiểm soát một sự chết của cảm biên thông minh những mảng, mỗi bản in rời gửi đầu vào cho những vùng võng mạc theo chức năng khác nhau.Tại màn hình sử dụng thị giác ngoại vi, từ đó võng mạc ngoại vi có quyết định thời gian tốt hơn hơn. 2.2.1.1. Mạng và xử lý những yêu cầu cảu mạng Trong mục này, những yêu cầu chức năng của hệ thống được mô tả cùng với một số tùy chọn thiết kế. Đề xuất những giải pháp được thúc đẩy bởi những yêu cầu này. Trong mệnh lệnh để đạt được khi hình dung chức năng, thông tin hai chiều sẽ được cần giữa một máy tính ngoài và xác định 22 phải chăng ảnh mong muốn được " nhìn thấy " bằng cách cấy vào nhữn cảm biến trong vỏ não xẽ cho chúng ta thấy được bệnh nhân đã thấy nhữ gì. 'Chúng tôi cũng cần thông tin hai chiều với mô cấy thuộc võng mạc sao cho Chúng tôi có thể xác định mà những cảm biến trong võng mạc là sự vận dụng như được chờ đợi. Không kể đầu vào từ camêra, chúng tôi cũng cần khả năng cung cấp đầu vào trực tiếp tới mô cấy võng mạc để xác định nếu bệnh nhân nhìn thấy cái gì được chờ đợi từ mẫu đầu vào đó. Kế hoạch sẽ dùng tới một mảng 25 x 25 cảm biến khôn khéo trên một chíp đơn cho sự cấy ghép võng mạc con người. Như sự khảo sát tiến triển, nhiều những chíp này sẽ được chèn cho một hệ thống cuối cùng 1000 x 1000 mảng cảm biến ( 40 x 40 mảng của những chíp, nơi mỗi chíp có một 25 x 25 mảng cảm biến).Tạo một đoạn xấp xỉ 200 250 ms. Bởi vậy, sự xử lý sẽ được thực hiện định kỳ xử lý vào một vòng là 200- 250 ms. Từ đây, dữ liệu sẽ đưựơc truyền bốn hay năm lần trên giây. Hinh 2.3: những bước xử lý dự án phục hình võng mạc Sau khi xem xét tất cả các nhân tố , thì ứng dụng của chúng tôi có thể được triển khai trong thực tế, bằng việc dùng những cảm biến đủ nhỏ với việc truyền nhận bằng sóng vô tuyến để không gây ảnh hưởng đến con người. 2.2.2. Theo dõi mức Glucoza 23 Học viện Quốc gia (NIH) của Viện Sức khỏe Quốc gia Mỹ về Bệnh đái đường và những bệnh về Tiêu hóa và nhữn báo cáo về các bệnh về thận 15.7 triệu người – 5.9% dân cư Mỹ mắc bệnh đái đường vào 1999 . Những sự phức tạp mà xuất hiện từ bệnh đái đường bao gồm bệnh tim, đột quỵ, cao huyết áp, bệnh về thận… Nhữn căn bệnh này là một trong 7 nguyên nhân hàng đầu gây tử vong ở mỹ, rõ ràng rằng đây là một bệnh mà cần sự chú ý nghiêm túc . Sự điều trị bệnh đái đường bao gồm một chế độ sinh hoạt chính xác : sự ăn kiêng, bài tập, và theo dõi nồng độ đường trong máu mọi lúc mọi nơi. Khi đó mạng cảm nhận không dây dùng nhữn cảm biến thông có thể chu cấp một cách có hiệu quả hơn tới việc theo dõi bệnh đái đường i, bằng việc cung cấp một phương pháp chắc chắn, chính xác, và ít ảnh hưởng tới con nguời hơn để theo dõi những mức Glucoza. Hiện thời, theo dõi những mức Glucoza máu, người ta sẽ phải dùng các thử máu bằng cách lấy máu trên các đầu ngón tay mà trong khi đó việc theo dõi này cần được thực hiện liên tục khi đó nó sẽ ngây ảnh hưởng tới bệnh nhân. Mạng cảm nhận không dây sẽ có thể khắc phục được điều này cùng với việc sử dụng các cảm biến thông minh. Cảm biến theo dõi những mức Glucoza và truyền những kết quả tới một màn hình hiển thị.Các cảm biến được làm rất nhỏ rùi đưa vào mạch máu của con người nó sẽ đo được nồng độ Glucoza chính sác hơn và đểu đặn hơn. 2.2.3 Dò tìm ung thư Ung thư là một trong nhữ nguyên nhân dẫn đến cái chết trong Chúng ta, với 563,100 người tử vong do ung thư được báo cáo vào 1999. Hiện thời 9 triệu người đã chẩn đoán có thể ung thư, với 1, 221, 800 trường hợp mới được chẩn đoán vào 1999. Mà hiện tại việc chữa trị bệnh ung thư khi đã tái phát là rất khó mà gần như là không thể. Chính vì vậy việc phát hiện sớm là chìa khóa để cứu sống những người bị ung. Những cảm biến thông minh Không dây có thể đóng góp một vai trò chìa khóa trong sự dò tìm sớm đó. 24 Những sự nghiên cứu đã hiện ra mà những tế bào ung thư có ảnh hưởng đến luồng máu trong vùng bị bao vây một khối u . Một cảm biến với khả năng để phát hiện ra những sự thay đổi này trong luồng máu có thể được đặt trong những vị trí khả nghi. Cách này là một cách đặc biệt hữu ích cho những người người mà có một lịch sử gia đình có nhiều ngừoi bị ung thư, tiềm ẩn ung thư cao. Nghiên cứu đang cũng được chỉ đạo trên việc đặt những cảm biến trên một cái kim, Khi đó công việc của nhữ thầy thuốc khi chữa bệnh sẽ đơn giản hơn và khả năng cứu chữa cao hơn. Những cảm biến được dùng trong thiết bị này có khả năng để phân biệt giữa nhữn tế bào bình thường và những tế bào bị ung thư. 2.2.4. Theo dõi sức khỏe toàn diện Mạng cảm nhận không dây với những cảm biến thông minh đã được sử dụng để theo dõi sức khỏe của con nguời bằng cách đưa vào trong cơ thể qua đuờng tiêu hóa. Các nhân viên của NASA làm việc ngoài không gian với những điều kiện khác hẳn trên trái đất khi đó mạng cảm nhận không dây sẽ được dùng để theo dõi sức khỏe của họ trong điều kiện ngoài không gian để gửi về trung tâm sử lý trên mặt đất . Nuốt một viên chứa một cảm biến thông minh có thể gửi cho chúng ta thông tin về độ axit đường ruột, sức ép, hay những sự làm giảm bớt của)cơ trơn cho phép những bác sỹ tốt hơn hơn chẩn đoán những bệnh dạ dày-ruột non trong một thái độ không tiếp cận được với những người đó. CHƯƠNG 3 25 NHỮNG ỨNG DỤNG CỦA MẠNG CẢM NHẬN KHÔNG DÂY CÓ THỂ ỨNG DỤNG Ở NƯỚC TA Do những điều kiện về nền kinh tế, kỹ thuật mà việc ứng dụng mạng cảm nhận không dây trong lỹ vực y tế ở nước ta rất khó triển khai. Dưới đây là một số ứng dụng của mạng cảm nhận không dây có thể ứng dụng được ở nước ta 3.1. Trong nông nghiệp Do nước ta là nước đang phát triển với nền nông nghiệp lớn. Số lượng các trang trại của nước ta nhiều do đó việc theo dõi là rất tốn nhân công. Trong khi đó việc đầu tư để phát triển một mạng cảm nhận không dây không phải là cao. Mạng có thể được dùng để đo dộ ảm ở từng khu vực trong trang trại, hay lượng mưa ở những khu vực khác nhau Hình 3.1 : Ứng dụng của mạng cảm nhận không dây sử dụng trong nông nghiệp Các nút mạng được bố trí tại các cánh đồng khác nhau để thu thập các thông tin về môi trường sau đó chuyển dữ liệu về co người sử dụng. Người sử dụng khi có các thông tin về môi trường ở từng khu vực khác nhau sẽ đưa ra 26 các phương hướng chăm sóc khác nhau đối với từng khu vực để chăm sóc cho tốt. 3.2. Trong việc dự báo cháy rừng Tài nguyên thiên nhiên rừng ở Việt Nam rất phong phú. Trữ lượng gỗ lớn. Có các cánh rừng nguyễn sinh như: Cát Bà, Cúc Phương, …. Mang lại rất nhiều nguồn lợi cho nước ta. Chính vì vậy việc giữ gìn và bảo tồn chúng là rất khó khăn. Trong đó việc cháy rừng do hạn hán, kho hanh thường xuyên sẩy ra do diện tích một khu rừng là rất lớn việc do độ ẩm của khu rừng trong từng khu vực là khó khăn. Hình 3.2: Ứng dụng của mạng cảm nhận không day trong cảnh bảo cháy rừng Mạng cảm nhận không dây sẽ giúp cho chúng ta được điều này bằng cách mỗi nút mạng sẽ gắn một cảm biến đo nhiệt độ, độ ẩm của không khí… gửi về cho con người sẽ giúp cho chúng ta biết cách quản sử lý tình trạng cháy rừng ro thiên tai gây ra. 3.3. Trong việc cảnh báo lũ Các nút mạng cảm nhận không dây có thể được gắn ở hai bên bờ sông trên thượng nguồn khi đó nó có thể thông báo cho chúng ta biết lượng lước trên thượng nguồn nhất là khi mùa mưa đến để đưa ra những thông báo về lũ chính xác nhất. 3.4. Trong nuôi trồng thuỷ sản 27 Ở nước ta số hộ sông ở ven biến thì việc nuôi trồng thủy sản đem lại nguồn lợi kinh tế rất lớn. Với một quy mô lớn với nhiều đầm nuôi thủy sản Trong khi đó nước chính là môi trường sống của các loài thủy sản việc môi trường sồng này bị ô nhiễm hay bị thiếu ô xy sẽ ảnh hưởng tới đời sống hay năng suất của nguồn thủy sản này. Trong khi đó việc theo dõi nguồn nuớc (các thông số của nguồn nước như nồng độ oxy độ PH trong nước) đề phải tiến hành trong phong thín nghiệm và việc đo đạc lại hết sức khó khăn do mỗi hồ nuôi tròng thủy sản thì nguông nước lại khac nhau. Chính vì vậy mạng cảm nhận không dây có thể ứng dụng được rất tốt ở đây. Mạng cảm nhận không dây có thể được dùng để đo nồng độ ôxy độ PH trong các hồ nuôi trồng hải sản khi đó có thể điều khiển tự động các quạt đạp nước cung cấp ôxy cho đầm nầy và thông báo cho người chăn nuôi biết được tình hình về nguồn nước hiện tại trong các hồ nước này. Hồ nuôi Quạt đạp nước 28 Hình 3.4 : Sơ đồ ứng dụng của mạng cảm nhận không dây trong nuôi trồng thủy sản Nút mạng có lắp Sensor đo ôxy hoặc CO2 được thả xuống đầm để đo lượng Ôxy gửi dữ liệu qua cac nút trung gian về máy tính, máy tính được kết nối và lập trình điều khiển bật tắt các quạt đạp nước trong một khoảng thời gian nhất định phụ thuộc vào nồng độ Ôxy đo được tại đầm tại các thời điểm khác nhau. Toàn bộ hệ thống được tiến hành tự động. CHƯƠNG 4 29 THỰC NGHIỆM CỦA MẠNG CẢM NHẬN KHÔNG DÂY 4.1 Bài toán Xây dựng mạng cảm nhận để đo nhiệt độ ở các diểm khác nhau. Đưa ra thông bao khi có nhiệt độ tại một nut lớn hơn mức cho phép 4.2 Mô hình của mạng cảm nhận Hình 3.1: Mô hình của mạng cảm nhận 4.3 Mục đích của bài toán gốc Đo nồng độ ôxy trong các hồ nuôi tôm kết nối với thiết bị điều khiển quạt nước. Do mạng cảm nhận không dây ở nước ta mới trong quá trình nghiên cứu do vây điều kiên vật chất để em thực nghiệm là chưa có. Cụ thể là không có đầu đo nồng độ ôxy chính vì vậy mà việc đo nồng độ oxy xẽ được thay bằng đo nhiệt độ, Việc điều khiển quạt nước được thay bằng hiền thị thông báo trên màn hình PC. 4.4 Phân tích bài toán 4.4.1. yêu cầu cảu bài toán …. Nút 1 Nút 2 Nút n ( <=16) Nút trung gian Nút gốc 30 Đo nhiệt độ ở môi trường trong các khu vực khác nhau sau đó giửi dữ liệu về máy tính thông qua mạng cảm nhận không dây. Máy tính nhận các dữ liệu do mạng cảm nhận không dây gửi về xử lý các dữ liệu đó rồi đưa ra thông báo cho người dùng nếu có nhiệt độ tại khu vực nào đó vượt qua ngưỡng cho phép. 4.4.2. Thiết kế mạng Mạng gồm có các nút cảm nhận được gắng với các đầu đo nhiệt độ. Máy tính dùng để nhận dữ liệu Các nút mạng thì gồm có nút cảm nhận, nút trung gian, nút nhận. Các nút cảm nhận thì đo nhiệt độ chuyển về nút nut trung gian, các nút trung gian nhận dữ liệu từ các nút cảm nhận gửi về rồi gửi về nút nhận. Nút nhận được kết nối trực tiếp với máy tính qua cổng com. Kiến trúc mạng được sử dụng là kiến trúc hình cây là do số lượng các nút mạng trong qua trình thực nghiệm là nhỏ ( cả nước ta hiện có 7 nút mạng thì trường Đại học Quốc gia giữ 3 nút để phục vụ giảng dậy, chúng em chi được thực nghiệm trên 4 nút ) dẫn dến việc sử dụng các kiến trúc khác là khó khăn Vd như kiến trúc bó… 4.4.3. Thuật toán B1: Nhiệt độ được đo tại các nút cảm nhận B2: Dữ liệu nhiệt độ đo được tại các nút cảm nhận được gửi về nút trung gian. B3: Nút trung gian sau khi nhận dữ liệu từ các nút cảm nhận gửi về thì gửi lại về nút nhận B4: Nút nhận nhận dữ liệu từ nút trung gian sau đó chuyển về máy tính qua cổng com. B5: Máy tính nhận được dữ liệu qua công com thì đọc dữ liệu đó và xử lý. 4.4.4. Sơ đồ khối 31 Hình 3.3: Sơ đồ khối của bài toán Mô tả sơ đồ: Dữ liệu về nhiệt độ được đo tại các nút cảm nhận sau đó được gửi về nút trung gian. Nút trung gian sau khi nhận được dữ liệu từ các nút cảm nhận gửi về thì gửi lại các thông tin đó về nút nhận. Nút nhận được kết nối với máy tính thông qua cổng Com khi đó dữ liệu sẽ được gửi từ nút Nút cảm nhận ( Đo nhiệt độ ) Nút trung gian Nút nhận Cổng Com (của máy tính ) Đọc cổng Com Hiển thị ra màn hình Có dữ liệu Đ S Không Có dữ liệu Begin 32 nhận vào máy tính thông qua cổng Com. Chương trình trên máy tính sẽ có nhiệm vụ đọc dữ liệu từ cổng Com nếu có dữ liệu thì sử lý dữ liệu đó ( So sánh nhiệt độ nhậ dược với ngưỡng nhiệt độ cho phép, nếu vượt qua ngưỡng cho phép thì dưa ra cảnh báo )sau đó lại quay lại đọc cổng Com để cập nhật nhiệt độ tại thởi điểm hỉện thời. Nếu không có dữ liệu thì việc đọc dữ liệu từ cổng Com luôn luôn được thực hiện. Việc sau khi nhận được dữ liệu tự cổng Com sau đó bao lâu thì cập nhật dữ liệu mới là do người dùng. 4.4.5. Lập trình A. Lập trình để nghi lên chip CC1010 * Chương trình dùng để lập trình + Keil uVision3 của hãng Keil Elektronik GmbF * Tac dụng của chương trình : Dùng để dịch trương trình từ ngôn ngữ lập trình thành mã máy dưới dạng tệp tin *.hex tệp tin này sẽ được nạp vào chip thông qua chương trình CHIPCON CC1010 Flash programmer có trong bộ CC1010 Developement Kit để lạp trực tiếp vào chip * Giao diện lập trình : 33 * Ngôn ngữ lập trình Sử dụng ngôn ngũ lập trình C với các thư viện hỗ trợ của CC1010 một số thư viện hỗ trợ cần chú ý là Hardware Definition Files (HDF) Hardware Abstraction Library (HAL) Chipcon Utility Library (CUL) Application examples Trong đó: + Hardware Definition Files (HDF) chứa địa chỉ của các thanh ghi, bản đồ véc tơ ngắt, và một số hằng số phần cứng khác được xác định trước. Nó bao gồm c + Hardware Abstraction Library (HAL): Thư viện này bao gồm rất nhiều các macro và các hàm nhằm làm đơn giản hoá việc truy cập vào phần 34 cứng của CC1010.Thông qua việc gọi các macro và hàm này người sử dụng có thể truy cập vào các thành phần vi điều khiển một cách dễ dàng mà không cần phải tìm hiểu một cách chi tiết về phần cứng. + Chipcon Utility Library (CUL): Ngoài ra, modul HAL trong CC1010IDE cũng cung cấp một thư viện gồm các khối sẵn có để xây dựng việc truyền thông RF được đặt trong Chipcon Utility Library (CUL). Thư viện này cung cấp đầy đủ các hỗ trợ cho các ứng dụng RF đặc trưng và nó còn cung cấp một giao thức RF đầy đủ . * Các hàm và các thư viện cơ bản Do việc thiết kế mạng của bài toán mà phần lập trình có 3 phần cơ bản đó là lập trình cho chip dể đo nhiệt độ và truyền về nút trung gian, lập trình cho nút chung gian, lập trình cho nút được nối trực tiếp với máy tính. + Lập trình cho nút dùng để đo nhiệt độ - Hàm main void main (void) { byte xdata n; byte xdata m; RF_RXTXPAIR_SETTINGS code RF_SETTINGS = { 0xA3, 0x2F, 0x15, // Modem 0, 1 and 2 0x75, 0xA0, 0x00, // Freq A 0x58, 0x32, 0x8D, // Freq B 0x01, 0xAB, // FSEP 1 and 0 0x40, // PLL_RX 0x30, // PLL_TX 0x6C, // CURRENT_RX 0xF3, // CURRENT_TX 0x32, // FREND 0xFF, // PA_POW 35 0x00, // MATCH 0x00, // PRESCALER }; // Định dạng kích cỡ dữ liệu RF_RXTXPAIR_CALDATA xdata RF_CALDATA; // Khởi tạo các thiết bị ngoại vi WDT_ENABLE(FALSE); RLED_OE(TRUE); YLED_OE(TRUE); GLED_OE(TRUE); BLED_OE(TRUE); // Khởi động các chế dộ ưu tiên và tiêu thụ điện năng MEM_NO_WAIT_STATES(); FLASH_SET_POWER_MODE(FLASH_STANDBY_BETWEEN_R EADS); // halRandomNumberGen(&n, 1); halRandomNumberGen(&m, 1); srand((n << 8) + m); waitMultiplier = 1; // Hàm dùng để cấu hình ADC halConfigADC(ADC_MODE_SINGLE | ADC_REFERENCE_INTERNAL_1_25, CC1010EB_CLKFREQ, 0); ADC_SELECT_INPUT(ADC_INPUT_AD1); ADC_POWER(TRUE); 36 // Thiết lập các tuyến nhận sppSetupRF(&RF_SETTINGS, &RF_CALDATA, TRUE); sppSettings.myAddress = TBC_MY_SPP_ADDRESS; sppSettings.rxTimeout = TBC_RX_INTERVAL; sppSettings.txAckTimeout = TBC_PREAMBLE_COUNT; sppSettings.txPreambleByteCount = TBC_PREAMBLE_COUNT; RXI.maxDataLen = TBC_DATA_LEN; RXI.pDataBuffer = rxDataBuffer; TXI.destination = SPP_BROADCAST; TXI.flags = 0x00; TXI.pDataBuffer = txDataBuffer; TXI.dataLen = TBC_DATA_LEN; // Khởi đông thiết bị bấm giờ sppStartTimer(CC1010EB_CLKFREQ); SPP_INIT_TIMEOUTS(); // Khởi tạo lại các nút mạng for (n = 0; n < TBC_MAX_NODE_COUNT; n++) { nodeIDs[n] = TBC_UNUSED_NODE_ID; } // Đặt lại tên cho nút mạng for (n = 0; n < TBC_NODE_NAME_LENGTH; n++) { nodeNames[0][n] = 0x00; } // Cài đặt các thiế bị vào ra UART0_SETUP(57600,CC1010EB_CLKFREQ, UART_NO_PARITY | UART_RX_TX | UART_POLLED); // Xuất ra tên VT100_CLEAR_SCREEN(); 37 VT100_GO_TOP_LEFT() // Nạp tên từ bộ nhớ flash memcpy(&nodeNames[0][0],flashUnitName,TBC_NODE_NAME_LENG TH); nodeIDs[0] = TBC_MY_SPP_ADDRESS; txDataBuffer[0] = (nodeIDs[0] >> 8) & 0xFF; txDataBuffer[1] = nodeIDs[0] & 0xFF; for (n = 0; n < TBC_NODE_NAME_LENGTH; n++) { txDataBuffer[n + TBC_NODE_ID_LENGTH] = nodeNames[0][n]; } + Lập trình cho nút dùng trung gian - Hàm sinh số ngẫu nhiên halRandomNumberGen(&n, 1); halRandomNumberGen(&m, 1); srand((n << 8) + m); waitMultiplier = 1; - Nhận các gói tin gồm có tên nhiệt dộ và địa chỉ, chuyền các gói tin vừa nhậ được txDataBuffer[0] = (nodeIDs[0] >> 8) & 0xFF; txDataBuffer[1] = nodeIDs[0] & 0xFF; for (n = 0; n < TBC_NODE_NAME_LENGTH; n++) { txDataBuffer[n + TBC_NODE_ID_LENGTH] = nodeNames[0][n]; } while (TRUE) { tbcReceive(); 38 // Tien hanh truyen goi tin nhan duoc tbcTransmit(); tbcWaitRandom(); } + Nút nối trực tiếp với máy tính - Đặt p2 ở chế độ out dữ liệu P2DIR = 0X00; - Nhận các dữ liệu và in ra các thông tin cần thiết rồi gửi về máy tính while (TRUE) { delay(2000); tbcReceive(); for (n = 0; n <= TBC_MAX_NODE_COUNT; n++) { if (nodeIDs[n] == TBC_UNUSED_NODE_ID) { continue; } // Node name: for (m = 0; m < TBC_NODE_NAME_LENGTH; m++) { UART0_WAIT_AND_SEND(nodeNames[n][m]); } if(nodeIDs[n]==2){ // Temperature: fTemp = nodeTemps[n]; fTemp -= 492; fTemp /= 8.192; sprintf(so,"%2.3f",fTemp); 39 // Chia ra các tình huống: if(fTemp<70){ printf("Nhiet tai nut 1: %2.3f\n",fTemp); printf("Tinh trang nut 1: An toan\n"); delayy(10000); } else{ printf("Nhiet tai nut 1: %2.3f\n",fTemp); printf("Tinh trang nut 1: Bao dong\n"); delayy(10000); } } else{ printf("Hien tai chua co du lieu\n"); } } B Lập trình chương trình sử lý trên máy tính Chương trình sử lý trên máy tính có chức năng nhận những dữ liệu do mạng cảm nhận không dây gửi về đọc thông tin gửi về đó và phân ra các dữ liệu cần thiết : nhiệt độ hiện thời, địa chỉ nút. Sau đó so sánh nhiệt độ nhận được với nhiệt độ ở ngưỡng cho phép. Nếu nhiệt độ đó vượt qua ngưỡng thì mở tệp tin âm thanh đồng thời hiện lên dòng thông báo * Ngôn ngũ lập trình Ngôn ngũ lập trình được sử dụng là Visual Basic có trong bộ Visual Studio . Sử dụng ngôn ngữ lập trình này là do trong đó có hỗ trợ lập trình đa phương tiệm như : Đọc dữ liệu từ cổng Com, Lập trình âm thanh…. * Giao diện của chương trình sử lý trên máy tính 40 Khi nhiệt độ chuyền về chưa vượt qua ngưỡng cho phép : Khi nhiệt độ chuyền về vượt qua ngưỡng cho phép ( Thực hiện cảnh báo ) : 41 *Các hàm chính của chương trình Hàm dùng để thiết lập các giá trị tại cổng Com Dim str As String cmdngung.Enabled = True Timer1.Enabled = True cmdok.Enabled = False If Check1.Value = 0 Or cbport.Text = "None" Or cbtime.Text = "None" Then MsgBox "Chua thiet lap du thong tin", vbRetryCancel, "Thong bao loi" Else 42 If cbport.Text = "COM1" Then port = 1 End If If cbport.Text = "COM2" Then port = 2 End If Timer1.Interval = CInt(cbtime.Text) Label2.Caption = "§ang kÕt nèi víi m¹ng c¶m nhËn " MSComm1.CommPort = port ' mo cong COM MSComm1.Handshaking = 2 - comRTS MSComm1.RThreshold = 1 MSComm1.RTSEnable = True str = "" str = str & 57600 & ",n," & 8 & "," & 1 MSComm1.Settings = str MSComm1.SThreshold = 1 End If End Sub Dọan mã lấy đọc dữ liệu gửi về từ cổng Com sử lý và đua ra cảnh báo tại điều khiển timer Private Sub Timer1_Timer() Label1.Caption = Time '===========lay thong tin nhiet do============== Dim n As Integer, nhietdo As String, h As Integer Dim diachi As String Dim kt As String * 1 Dim nd As String * 7 Dim kt1 As String * 1 43 Dim tg As String * 10 If List1.List(0) = "" Or List1.List(1) = "" Then List1.List(0) = "Danh sach nhiet do :" List1.List(1) = "0. (0x9438) thunghem- TEMP: 25.5 - AGE (msecs): 20" 'End If Else '==========bat dau qua trinh ghi du lieu ============ Dim tenfile, sofile, temmp As Integer Dim nguong, datnguong As Double tenfile = App.Path If Right(tenfile, 1) "\" Then tenfile = tenfile & "\" tenfile = tenfile & "dulieu1.txt" ' Xuat ra ngoai file danhsach.txt Const ForReading = 1, ForWriting = 2 Dim fso, f Set fso = CreateObject("Scripting.FileSystemObject") Set f = fso.OpenTextFile(tenfile, ForWriting, True) f.Write Text1.Text Set f = fso.OpenTextFile(tenfile, ForReading) Do Until (f.AtEndOfStream) writetofile = f.ReadLine List1.List(1) = writetofile Loop m = Len(Trim(List1.List(1))) h = 0 nhietdo = " " For j = 1 To m kt = Mid(List1.List(1), j, 1) If kt = ":" Then 44 nd = Mid(List1.List(1), j + 1, 6) nhietdo = nhietdo & nd txtnhietdo.Text = Trim(nhietdo) Exit For End If Next j tg = " " Dim state As String state = 0 diachi = " " For j = 1 To m kt = Mid(Trim(List1.List(1)), j, 1) If kt = ":" And state = 0 Then state = 1 kt = Mid(Trim(List1.List(1)), j + 1, 1) End If If kt = "(" Then tg = Mid(List1.List(1), j + 1, 6) diachi = diachi & tg txtdiachi.Text = Trim(diachi) Exit For End If Next j End If nguong = CDbl(txtnhietdo.Text) datnguong = CDbl(txtdatnguong.Text) If nguong > datnguong Then frmbaodong.Show 45 frmbaodong.WindowsMediaPlayer1.Controls.play End If If nguong < datnguong Then frmbaodong.WindowsMediaPlayer1.Controls.stop Unload frmbaodong End If '===================== Text1.Text = "" '==================Ket thuc========================== End Sub 4.4.6. Kết quả của chương trình Chương trình thu nhận thông tin nhiệt độ của môi trường ở các địa điểm khác nhau sau đó gửi về máy tính thông qua cổng Com. Chương trình trên máy tính sau khi nhận được dữ liệu từ mạng cảm nhận gửi về sẽ lấy thông của nhiệt độ của các nút mạng gửi về và đưa ra thông báo đồng phát một tệp tin âm thanh để cảnh báo cho người dùng. 4.4.7. Nhận xét và đánh giá chương

Các file đính kèm theo tài liệu này:

  • pdfTìm hiểu và tổng quan được những nét lớn , cơ bản của mạng cảm nhận không dây.pdf