Đồ án có sử dụng một số nhận xét đánh giá cũng như số liệu của các tác giả, điều này được thể hiện trong phần tài liệu tham khảo.. Xuất phát từ nhu cầu thực tế qua những ứng dụng tiện íc
Trang 1LỜI CẢM ƠN
Trong thời gian thực hiện đề tài với sự giúp đỡ tạo điều kiện của Trường Đại Học Công Nghệ Thông Tin và Truyền Thông, sự góp ý của các bạn và đặc
biệt là sự hướng dẫn trực tiếp, chỉ bảo tận tình của thầy giáo ThS Đỗ Huy Khôi
Em đã hoàn thành đề tài cùng với bản báo cáo đúng thời gian quy định
Em xin gửi lời cảm ơn đến các thầy, cô trong Khoa Công Nghệ Điện Tử
Và Truyền Thông - Đại Học Công Nghệ Thông Tin Và Truyền Thông đã trang bị kiến thức và tạo điều kiện hết sức thuận lợi để em có thể hoàn thành đề tài này một cách tốt nhất
Với những kiến thức thực tế có được, nó đã giúp ích cho em rất nhiều trong việc phân tích thiết kế hệ thống và hoàn thành tốt đồ án này
Mặc dù đã cố gắng hoàn thành đề tài trong phạm vi và khả năng cho phép nhưng chắc chắn không tránh khỏi những thiếu sót.Em mong nhận được sự thông cảm, góp ý và tận tình chỉ bảo của quý thầy cô và các bạn
Thái Nguyên, tháng 06 năm 2016
Sinh viên
Lương Thị Chang
Trang 2LỜI CAM ĐOAN
Đồ án tốt nghiệp là sản phẩm tổng hợp toàn bộ kiến thức của sinh viên đã được học trong suốt quá trình học tập tại trường Đại học Ý thức được điều đó, với tinh thần trách nhiệm nghiêm túc, tự giác cùng với lao động miệt mài của bản thân và sự hướng dẫn tận tình của ThS Đỗ Huy Khôi, em đã hoàn thành xong đồ
án tốt nghiệp của mình
Em xin cam đoan nội dung của đồ án “ Xây dựng mạch kết nối wifi trên Kit Intel Galileo Gen 2.0 ” không sao chép nội dung từ các đồ án khác và sản
phẩm của đồ án là của chính bản thân em nghiên cứu và xây dựng lên Đồ án có
sử dụng một số nhận xét đánh giá cũng như số liệu của các tác giả, điều này được thể hiện trong phần tài liệu tham khảo Mọi thông tin sai lệch, em xin chịu trách nhiệm trước hội đồng bảo vệ
Thái nguyên, tháng 06 năm 2016
Sinh viên thực hiện
Lương Thị Chang
Trang 3MỤC LỤC
LỜI CẢM ƠN 1
LỜI CAM ĐOAN 2
MỤC LỤC 3
DANH MỤC HÌNH ẢNH 5
DANH MỤC BẢNG BIỂU 7
DANH MỤC TỪ VIẾT TẮT 8
LỜI NÓI ĐẦU 9
CHƯƠNG 1: TỔNG QUAN VỀ INTEL GALILEO GEN 2.0 VÀ CARD WIFI 10
1.1 Vi điều khiển Intel Galileo Gen 2.0 10
1.1.1 Giới thiệu chung 10
1.1.2 Một số ưu nhược điểm của Intel Galileo Gen 2.0 18
1.1.3 Lập trình cho Intel Galileo Gen2 20
1.1.4 Cài đặt hệ điều hành cho Intel Galileo Gen 2.0 23
1.1.5 Ứng dụng của board Intel Galileo Gen 2.0 28
1.2 Tìm hiểu Card WiFi 28
CHƯƠNG 2: CÔNG NGHỆ TRUYỀN THÔNG WIFI 31
2.1 Giới thiệu chung G31 2.1.1 Ưu, nhược điểm 31
2.1.2 Đặc điểm và phân loại .31
2.1.3 Nguyên lý hoạt động của mạng không dây .33
2.2 Bảo mật trong mạng không dây .34
2.2.1 Một số hình thức tấn công xâm nhập phổ biến 34
2.2.2 Các phương pháp bảo mật trong mạng WLAN .35
2.3 Ứng dụng của Wireless Lan 39
2.3.1 Access role ( vai trò truy nhập) .39
2.3.2 Network Extension ( mở rộng mạng ) .40
2.3.3 Kết nối các tòa nhà .41
2.3.4 Mobility ( khả năng di động) .41
2.3.5 Small Office-Home Office 42
Trang 42.3.6 Mobile Offices ( Văn phòng di động) .42
CHƯƠNG 3: XÂY DỰNG MẠCH KẾT NỐI WIFI TRÊN KIT INTEL GALILEO GEN 2.0 44
3.1 Bài toán thực hiện 44
3.1.1 Yêu cầu bài toán 44
3.1.2 Ý tưởng bài toán 44
3.1.3 Lưu đồ thuật toán 45
3.2 Sơ đồ khối phần cứng 46
3.2.1 Computer 46
3.2.2 Intel Galileo Gen 2.0 46
3.2.3 Khối hiện thị 47
3.2.4 Khối nguồn 49
3.3 Kết nối Intel Galileo Gen 2.0 với Card WiFi 49
3.4 Kết nối Intel Galileo Gen 2.0 với khối hiện thị 54
3.5 Kết quả thực nghiệm 55
3.6 Đánh giá – nhận xét về đề tài 56
3.7 Hướng phát triển của đề tài 56
KẾT LUẬN 57
PHỤ LỤC 58
TÀI LIỆU THAM KHẢO 62
Trang 5DANH MỤC HÌNH ẢNH
Hình 1.1 Hình ảnh thực tế của Intel Galileo Gen 2.0 10
Hình 1.2 Sơ đồ nguyên lý của Intel Galileo Gen 2.0 .12
Hình 1.3 Giao tiếp của Intel Galileo Gen 2.0 .15
Hình 1.4 Cổng mini PCI Express của Intel Galileo Gen 2.0 .16
Hình 1.5 Kiểm tra kết nối với board Intlel Galileo Gen 2.0 20
Hình 1.6 Kiểm tra cổng kết nối của PC với Intel Galileo Gen 2.0 .21
Hình 1.7 Kiểm tra cổng của PC trong mục Devices Manager .21
Hình 1.8 Kiểm tra và upload chương trình lên Galileo Gen 2.0 22
Hình 1.9 Kiểm tra chương trình upload thành công .22
Hình 1.10 Hình ảnh Led báo hiệu Intel Galileo hoạt động .23
Hình 1.11 Các thành phần của hệ điều hành Linux .24
Hình 1.12 Hình ảnh của đầu lọc thẻ và thẻ nhớ Micro SD 4GHz Class4 .25
Hình 1.13 Tải file image của hệ điều hành 26
Hình 1.14 Tải phần mềm hỗ trợ ghi dữ liệu .26
Hình 1.15 Format thẻ nhớ .27
Hình 1.16 Format thẻ nhớ .27
Hình 1.17 Hình ảnh thực tế của Card Wifi Centrino Wireless-N 135 .29
Hình 2.1 Nguyên tắc hoạt động của Wifi .32
Hình 2.2 Lọc địa chỉ MAC .36
Hình 2.3 Lọc giao thức .37
Hình 2.4 Vai trò truy cập của WLAN .40
Hình 2.5 Vai trò mở rộng của WLAN 41
Hình 2.6 Khả năng di động .42
Hình 2.7 Mạng SOHO Wireless LAN 42
Hình 2.8 Một trường học với các lớp học di động 43
Hình 3.1 Thiết kế kết nối wifi trên Kit Intel Galileo Gen 2.0 .44
Hình 3.2 Lưu đồ thuật toán .45
Hình 3.3 Sơ đồ khối điều khiển 46
Trang 6Hình 3.4 Cáp nối USB type-B .46
Hình 3.5 Hình ảnh vi điều khiển Intel Galileo Gen 2.0 .47
Hình 3.6 Hình ảnh của LED siêu sáng .48
Hình 3.7 Hình ảnh khối nguồn 49
Hình 3.8 Giao diện PuTTY trên máy tính .50
Hình 3.9 Hình ảnh module phần cứng 55
Trang 7DANH MỤC BẢNG BIỂU
Bảng 1.1 Thông số kỹ thuật của Intel Galileo Gen 2.0 13
Bảng 1.2 Các thông số kỹ thuật của bộ xử lý Quark SoC X1000 .14
Bảng 1.3.Các đặc điểm kỹ thuật của Intel Centrino Wireless-N 135, Sibgle Band 30
Bảng 3.1 Kết nối Intel Galileo Gen 2.0 với khối hiện thị .55
Trang 8DANH MỤC TỪ VIẾT TẮT
HTTPS HyperText Transfer Protocol Secure
TKIP Temporal key integrity protocol SMTP Simple Mail Transfer Protocol
Trang 9
LỜI NÓI ĐẦU
Với xã hội hiện đại như ngày nay, các hệ thống thông tin số hiện đang phát triển rất mạnh mẽ trên toàn thế giới và đã thay thế hầu hết các hệ thống thông tin analog Ngày nay, con người cùng với những ứng dụng của khoa học
kỹ thuật tiên tiến của thế giới, chúng ta đã và đang ngày một thay đổi, văn minh
và hiện đại hơn Sự phát triển của kỹ thuật điện tử đã tạo ra hàng loạt những thiết
bị với các đặc điểm nổi bật như sự chính xác cao, tốc độ nhanh, gọn nhẹ… là những yếu tố rất cần thiết góp phần cho hoạt động của con người đạt hiệu quả ngày càng cao hơn
Xuất phát từ nhu cầu thực tế qua những ứng dụng tiện ích và hiệu quả mà công nghệ điều khiển từ xa mang lại cùng với việc học tiếp thu kiến thức học
được ở trên trường, em đã chọn đề tài về: “ Xây dựng mạch kết nối wifi trên Kit Intel Galileo Gen 2.0 ” Đề tài tập trung nghiên cứu và thiết kế mạch kết nối
wifi trên Kit Intel Galileo Gen 2.0 có các chức năng như bật, tắt thiết bị từ xa thông qua công nghệ truyền thông không dây Wifi
Mặc dù bản thân em đã rất cố gắng nhưng do vốn kiến thức có hạn nên cuốn đồ án này không thể tránh khỏi những thiếu sót nhất định, em rất mong nhận được sự chỉ bảo và đóng góp ý kiến của các thầy cô giáo trong khoa Công Nghệ Điện Tử và Truyền Thông cùng các bạn đồng học để bài báo cáo được hoàn chỉnh hơn
Để làm rõ hơn về nội dung thực hiện của đề tài này, báo cáo được chia thành 3 chương bao gồm những nội dung như sau:
Chương 1: Tổng quan về Intel Galileo Gen 2.0 và Card Wifi
Chương 2: Công nghệ truyền thông Wifi
Chương 3: Xây dựng mạch kết nối Wifi trên Kit Intel Galileo Gen 2.0
Trang 10CHƯƠNG 1: TỔNG QUAN VỀ INTEL GALILEO GEN 2.0 VÀ
CARD WIFI 1.1 Vi điều khiển Intel Galileo Gen 2.0
1.1.1 Giới thiệu chung
Hình 1.1 Hình ảnh thực tế của Intel Galileo Gen 2.0
Intel Galileo Gen 2.0 board là một mạch điều khiển (có thể lập trình được) dựa trên vi xử lý Intel Quark SoC X1000 - một bộ xử lý thuộc dòng Pentium
Trang 1132bit system-on-chip (tích hợp tất cả các thành phần hệ thống vào trong 1 chip
xử lý duy nhất)
Intel Galileo Gen 2.0 được ra mắt nhằm thay thế dòng sản phẩm Intel Galileo Gen 1 trước đó, nó được thiết kế cả phần cứng và phần mềm phù hợp với những cấu kiện được thiết kế cho Arduino Uno R3
Nền tảng này cung cấp dễ dàng sự phát triển kiến trúc Intel thông qua hỗ trợ cho Microsoft Windows, Mac OS, và Linux hệ điều hành máy chủ Nó cũng tương thích với phần mềm Arduino môi trường phát triển tích hợp (IDE) và thêm vào đó là các một vài cổng tương thích với máy tính và có thể mở rộng thông qua các cấu kiện được thiết kế cho Arduino Mặc định, trên board mạch Galileo hỗ trợ:
Cổng full sized mini-PCI Express 2
Cổng Ethernet 100Mb
Khe cắm thẻ nhớ Micro-SD
Cổng Serial RS-232
Cổng USB Host và USB Client
8MB bộ nhớ NOR Flash mặc định trên mạch
Intel Galileo Gen 2.0 hiện là board mạch mạnh nhất trong họ hàng Arduino, đồng thời nó cũng là board mạch đầu tiên trong họ hàng của Arduino có khe cắm mini-PCI Express half-sized lẫn full-sized Ngoài ra, Galileo còn hỗ trợ chuẩn Arduino pinout 1.0 giúp chạy được các shield mở rộng như trên Arduino Uno ở cả 2 mức điện áp 3.3V và 5V Galileo có được điều này là nhờ các bộ chuyển đổi điện áp được tích hợp ngay trên board mạch Theo mặc định, Galileo chạy shield ở mức 5V và có thể chuyển xuống 3.3V bằng cách thay đổi các chân cắm (jumper) trên mạch
Bộ vi xử lý thông minh của Intel và tập hợp rất nhiều cổng xung quanh, cung cấp nhiều tính năng đầy đủ cho cộng đồng các nhà sáng chế và học sinh sinh viên Nó cũng rất hữu ích cho các nhà phát triển chuyên nghiệp, người đang tìm kiếm một môi trường đơn giản và tiết kiệm cho những thiết kế dành cho những sản phẩm phức tạp hơn của Intel như là bộ vi xử lý Intel Atom và Intel Core
Trang 12Hình 1.2 Sơ đồ nguyên lý của Intel Galileo Gen 2.0
- Một vài thông số kỹ thuật của Intel Galileo Gen 2.0
Vi điều khiển Intel Quark SoC X1000
Điện áp hoạt động 12V – DC (chỉ được cấp qua cổng
USB)
Số chân Digital I/O 14 (6 chân PWM)
Số chân Analog 6 (độ phân giải 12bit)
Dòng tối đa trên mỗi chân I/O 80 mA
Trang 13Bộ nhớ flash 8MB (dùng để lưu trữ firmware hay
Galileo là một board mạch vi điều khiển dựa trên bộ xử lý ứng dụng Intel
Quark SoC X1000 - một bộ xử lý thuộc dòng Pentium 32bit system-on-chip (tích
hợp tất cả các thành phần hệ thống vào trong 1 chip xử lý duy nhất)
Các thông số kỹ thuật của bộ xử lý Quark SoC X1000
Mô tả 32 bit, lõi đơn, luồng đơn, tương thích
với Pentium ISA
Băng thông bộ nhớ tối đa 1,6 GB/s
Phần mở rộng địa chỉ vật lý 32bit
Phiên bản PCI Express 2.0
Số cổng PCI Express tối đa 2
Phiên bản chỉnh sửa USB 2.0
Trang 14Bảng 1.2 Các thông số kỹ thuật của bộ xử lý Quark SoC X1000
Điểm nổi bật của bộ xử lý Quark SoC X1000 là hoạt động ở xung nhịp 400MHz, nhanh hơn 20 lần so với 20MHz của Arduino Tuy nhiên để đánh giá chất lượng của một lõi CPU ta cũng cần xem xét tới hiệu năng làm việc của nó trong một chu kỳ Theo nhà sản xuất RPi, BCM2835 chỉ có hiệu năng tương đương 1 CPU Pentium II 300MHz Trái lại, X1000 lại có hiệu năng tương đương một CPU ARM như BCM2835 nhưng với xung nhịp 1.2GHz
Dung lượng bộ nhớ tối đa và băng thông tối đa lần lượt là 2GB và 1.6GB/s cho phép CPU xử lý gói thông tin lớn Kết hợp với bộ nhớ DDR3 với tần số làm việc 800MHz, có khả năng chuyển 8 từ dữ liệu trong một chu kỳ đồng
hồ
Các công nghệ tích hợp bên trong
Trạng thái không hoạt động (Idle States) - Trạng thái C được dùng để tiết kiệm điện khi bộ xử lý không hoạt động C0 là trạng thái hoạt động, có nghĩa
là CPU đang làm những công việc hữu ích C1 là trạng thái không hoạt động thứ nhất, C2 là trạng thái không hoạt động thứ 2, v.v khi có nhiều tác vụ tiết kiệm điện hơn được thực hiện cho các trạng thái C cao hơn
Bit vô hiệu hoá thực thi (Execute Disable Bit) là tính năng bảo mật dựa trên phần cứng có thể giảm khả năng bị nhiễm vi rút và các cuộc tấn công bằng
mã độc hại cũng như ngăn chặn phần mềm có hại từ việc thi hành và phổ biến trên máy chủ hoặc mạng
- Năng lượng
Được cung cấp bởi bộ chuyển đổi AC-to-DC, kết nối với Galileo qua jack
cắm 2.1mm (cực dương ở giữa) Điện áp sử dụng là 5V và cường độ dòng điện
có thể đạt đến 3A
Trang 15- Giao tiếp của Intel Galileo Gen 2.0
Hình 1.3 Giao tiếp của Intel Galileo Gen 2.0
Galieo cung cấp giao tiếp UART TTL Serial ở cả hai mức 3.3V và 5V ở hai chân 0 (RX) và 1 (TX) Thêm vào đó, 1 cổng UART khác hỗ trợ RS-232 có thể được sử dụng qua jack cắm 3.5mm
Ethernet: Giúp mạch Intel Galileo kết nối với các modem/router để kết nối với Internet (tốc độ tối đa lên đến 10/100 Mb/s)
USB Client: Cổng này là cổng Micro USB (uUSB) vì vậy ta có thể lấy dây sạc điện thoại thông minh để sử dụng Là cổng serial ảo duy nhất của Intel Galileo, và nó được thiết kế ra để lập trình với chương trình Arduino Khi người
sử dụng cài một hệ điều hành Linux khác thì lúc bấy giờ lập trình viên không thể
sử dụng Arduino để lập trình cho Galileo, mà phải dùng các kiến thức điều khiển các chân GPIO của vi xử lý Quark
USB 2 Host: đây là cổng USB dùng cho kết nối tới các thiết bị khác như chuột, bàn phím, điện thoại thông minh, usb, wecam, Ở Gen1 thì cổng này có dạng MiniA còn sang Gen 2 đã chuyển sang chuẩn Type-A, giúp cho việc kết nối với các thiết bị ngoại vi thuận tiện hơn
Jack nguồn chuẩn 5.5: được dùng để cấp điện áp cho board, từ 15VDC, Gen 1 chỉ có thể cấp mức điện áp 5V
Trang 167- Đầu đọc thẻ nhớ micro SD tích hợp trên mạch có thể được truy cập thông qua thư viện SD Giao tiếp giữa Galieo và thẻ nhớ micro SD được hỗ trợ bởi một trình điều khiển SD tích hợp, do đó bạn không cần phải sử dụng giao tiếp SPI như trên mạch Arduino Giao tiếp SD có thể chạy với tần số đến 50MHz phụ thuộc vào Class của thẻ nhớ Thẻ nhớ có 2 loại Class thông dụng
Cổng mini PCI Express (mPCIe) cổng này cho phép kết nối các module mPCIe full-size lẫn half-sized (với bộ chuyển đổi) cũng như cung cấp thêm một cổng USB Host khác Một module chuẩn mPCIe có thể kết nối và cung cấp cho Galieo nhiều ứng dụng như WiFi, Bluetooth hay kết nối mạng di động Bước đầu, cổng mPCIe sẽ hỗ trợ thư viện WiFi
Hình 1.4 Cổng mini PCI Express của Intel Galileo Gen 2.0
Trang 17- Các cổng vào/ra
Galileo được thiết kể để làm việc với các shield chạy ở cả 2 mức điện
áp 3.3V và 5V Giống như Arduino UNO phiên bản 3, Galileo có:
14 chân Digital I/O, trong đó có 6 chân có thể phát xung PWM Chúng
có thể được sử dụng cả 2 chế độ INPUT và OUTPUT, sử dụng được với các hàm
pin Mode(), digitalWrite() và digitalRead() như trên các mạch Arduino + Các chân giao tiếp có thể hoạt động ở 2 mức điện áp 3.3V và 5V Dòng cấp tối đa là 10mA, dòng đỉnh là 25 mA
+ Mỗi chân đều có một điện trở pull-up trong có trị số khoảng 5.6k đến 10k ohms Mặc định, các điện trở này bị ngắt
6 chân Analog từ A0 đến A5 giao tiếp qua chip Mỗi chân Analog có thể cung cấp độ phân giải 12 bit với 4096 giá trị khác nhau
I2C bus, TWI với 2 chân SDA và SLC nằm cạnh chân AREF
TWI: gồm 2 chân SDA (A4) và SCL (A5) Hỗ trợ giao tiếp TWI thông qua thư viện Wire tương tự như trên Arduino
SPI: chạy ở xung mặc định là 4Mhz để làm việc với các Arduino shield,
Chân 5V output: chân này cấp nguồn ra 5V từ nguồn ngoài cấp cho Galileo hay từ nguồn USB Dòng ra tối đa ở chân này cho các shield
là 800mA
Chân 3.3V output: cấp điện áp ra 3.3V được điều chế từ các mạch điều
áp trên Galileo Dòng ra tối đa ở chân này cho các shield là 800mA
GND: chân nối cực âm của nguồn điện
Trang 18 IOREF: cho phép các shield điều chỉnh hoạt động phù hợp với điện áp hoạt động trên Galileo Chân IOREF được kiểm soát bởi các jumper trên mạch
để lựa chọn 2 mức điện áp làm việc của shield là 3.3V và 5V
Galileo chạy hệ điều hành Linux
Bạn có thể dễ dàng triển khai các dự án lớn trên Galileo Linux không
phải là hạt đậu nhỏ như MS-DOS
Bạn có thể tạo ra một bản Linux thích hợp cho mình
Bạn có thể thoải mái lập trình Galileo trên nhiều ngôn ngữ như Python, PHP, C++, miễn là Galileo có cài các trình biên dịch cho những ngôn ngữ ấy
Galileo mô phỏng các chức năng để giống hệt như Arduino
Galileo có thể dễ dàng tham gia vào các dự án Arduino mà không gặp nhiều khó khăn về tương thích
Nếu bạn đã làm việc với Arduino rồi thì có thể dễ dàng chuyển qua làm với Galieo
Galileo hỗ trợ chuẩn chân cắm Arduino pinout 1.0
Bạn có thể tận dụng các shield sẵn có của Arduino để mở rộng các chức năng của Galileo
Galileo có cổng Ethernet tích hợp
Chỉ cần cắm dây vào là Galileo sẽ sẵn sàng kết nối vào mạng Internet
Galileo có khe cắm thẻ nhớ micro SD
Trang 19 Nếu bạn cần lưu nhiều dữ liệu thì đây là một điểm cộng tuyệt vời cho Galileo
Galileo có cổng mini-PCI Express
Ngoài việc mở rộng chức năng bằng các shield qua hàng chân cắm Arduino pinout 1.0, Galileo còn có thể mở rộng thêm nhiều chức năng như kết nối WiFi, Bluetooth, GSM, GPRS/3G, bằng các loại card hỗ trợ giao tiếp qua cổng mPCIe
Galileo có cổng USB Host
Điều này giúp Galileo có thể kết nối với hàng tá thiết bị ngoại vi khác sử dụng cổng USB
Bạn có thể dễ dàng dùng Galileo như một web server
Bạn có thể dễ dàng xây dựng các dự án chạy trên nền web
Bạn có thể dùng Galileo để lưu trữ trang web của mình thay vì phải tốn tiền đi thuê các dịch vụ bên ngoài
Các thư viện Arduino có sử dụng các chức năng của chip AVR sẽ không hoạt động trên Galileo
Kiến trúc Arduino gắn liền với vi xử lý họ AVR (ATmega8/168/328), do vậy bộ xử lý Intel Quark X1000 trên Galileo sẽ không thể mô phỏng được những chức năng như vậy
Trang 20Galileo có mức tiêu thụ điện năng lớn
Để đánh đổi sức mạnh của bộ xử lý, Galileo cần có một nguồn điện với công suất đến 10W (5V - 2A) Đa phần các dự án chạy bằng pin không thể kham nổi mức tiêu thụ năng lượng này
1.1.3 Lập trình cho Intel Galileo Gen2
Do Intel Galileo Gen2 tương thích với board Arduino Uno nên chúng ta
có thể dùng Arduino IDE để lập trình cho Galileo bằng ngôn ngữ C
Đầu tiên chưa yêu cầu Insert MicroSD card Intel Galileo Gen 2.0 đã có sẵn bộ nhớ trong và có thể chạy một số chương trình ngay
Mở Arduino IDE 1.6.0 Kiểm tra kết nối với Board Intel Galileo Gen 2.0
Hình 1.5 Kiểm tra kết nối với board Intlel Galileo Gen 2.0
Trang 21Tiếp theo kiểm tra cổng kết nối của PC với Intel Galileo Gen 2.0.Thường
nó sẽ là COM3 hoặc cao hơn
Hình 1.6 Kiểm tra cổng kết nối của PC với Intel Galileo Gen 2.0
Có thể kiểm tra cổng này trong mục Devices Manager> Ports (Click chuột phải vào biểu tượng Computer, chọn Manage) Nếu lỗi chưa hiện cổng thì có thể phải cài driver Serial cho máy tính
Hình 1.7 Kiểm tra cổng của PC trong mục Devices Manager
Trang 22Mở chương trình Blink trong File> Examples> 01.Basics> Blink:
Kiểm tra và upload chương trình lên Galileo Gen 2.0
Hình 1.8 Kiểm tra và upload chương trình lên Galileo Gen 2.0
Cuối cùng kiểm tra chương trình upload thành công
Hình 1.9 Kiểm tra chương trình upload thành công
Trang 23Và đèn Led tích hợp trên Board Galileo Gen 2.0 sẽ nhấp nháy
Hình 1.10 Hình ảnh Led báo hiệu Intel Galileo hoạt động
1.1.4 Cài đặt hệ điều hành cho Intel Galileo Gen 2.0
Hệ điều hành Linux
Nhìn bề ngoài, Linux là một hệ điều hành Như thể hiện trong hình, Linux gồm có một nhân kernel (mã cốt lõi quản lý các tài nguyên phần cứng và phần mềm) và một bộ sưu tập các ứng dụng của người dùng (chẳng hạn như các thư viện, các trình quản lý cửa sổ và các ứng dụng)
Trang 24Hình 1.11 Các thành phần của hệ điều hành Linux
Sơ đồ cho thấy tất cả các thành phần của Linux cho những người dùng, nhân và phần cứng
Sơ đồ trên chỉ ra các thành phần quan trọng Tầng cuối cùng chính là một tập hợp mã kiến trúc giúp Linux có thể hỗ trợ đa nền tảng phần cứng (ARM, PowerPC, Tilera TILE v.v ) Tất nhiên, chức năng này được đăng ký theo giấy phép GNU, tạo nên tính di động của Linux
Linux theo phong cách riêng trong lĩnh vực về tính di động Hệ thống con của trình điều khiển (là rất lớn về khả năng của nó) hỗ trợ động các module được nạp mà không ảnh hưởng đến hiệu năng, tạo nên tính module (thêm vào một nền tảng động hơn) Linux cũng bảo mật ở mức nhân kernel (trong một số lược đồ) tạo nên một nền tảng bảo mật Trong miền hệ thống tệp bên ngoài, Linux tạo nên một mảng lớn nhất về hỗ trợ hệ thống tệp của bất kỳ hệ điều hành nào, như là một ví dụ, tạo nên tính linh hoạt thông qua tính module thiết kế Linux thực hiện không chỉ các tính năng lên lịch trình tiêu chuẩn mà còn lên lịch trình thời gian thực bao gồm các bảo đảm về độ trễ ngắt
Trong các thiết bị nhúng, với các mức ràng buộc khác nhau (hiệu năng của
bộ xử lý, các tài nguyên như bộ nhớ và v.v) Linux là lý tưởng trong hầu hết các
Trang 25trường hợp này vì khả năng thu hẹp quy mô của nó và sử dụng bất kỳ các bộ vi
xử lý nhúng nào có sẵn trên thị trường Tính linh hoạt này làm cho Linux trở thành một nền tảng được sử dụng rất nhiều trong truyền hình, giải trí trong xe hơi, các hệ thống định vị và nhiều kiểu thiết bị khác
Linux có khả năng tùy chỉnh cao và tập trung vào mức tiêu thụ điện năng thấp Để bảo đảm sự tập trung vào điện năng, sáng kiến Less Watts theo dõi sự tiêu thụ điện năng của các bản phát hành nhân Linux Dự án này chủ yếu tập trung vào các nền tảng của Intel, nhưng cũng có thể có ích với các bộ xử lý khác
Linux là một đề xuất khá chuẩn cho các thiết bị nhúng và có thể xác định
sự thành công hay thất bại của thiết bị (hỗ trợ phát triển và xuất hiện nhanh)
Linux và Intel Galileo Gen2
Giới thiệu cách cài đặt hệ điều hành linux yocto lên Board Galileo
Bước 1: Chuẩn bị
1 thẻ nhớ Micro SD 4GB Class 4
Đầu đọc thẻ nhớ
Hình 1.12 Hình ảnh của đầu lọc thẻ và thẻ nhớ Micro SD 4GHz Class4
Nên sử dụng thẻ 8GB Class10 hoặc hơn để tăng tốc độ đọc ghi dữ liệu, giảm thời gian chạy của một số tác vụ như cập nhật hệ thống, cài đặt/xoá các
package (software) Dung lượng thẻ nhớ tối đa mà Intel Galileo có thể nhận là 32GB
Trang 26Bước 2 Tải file image của hệ điều hành
Link:
https://software.intel.com/sites/landingpage/iotdk/board-boot-image.html (Direct link)
Dung lượng file là 232.89MB
Hình 1.13 Tải file image của hệ điều hành
Khi tải xong, ta sẽ được một file là iot-devkit-1.5-i586-galileo.bz2
(iot-devkit phiên bản 1.5 dành cho Intel Galileo)
Giải nén file này, ta sẽ được một file tên là iot-devkit-1.5-i586-galileo (
file này không có đuôi) dung lượng 1.32GB
Bước 3: Tải phần mềm hỗ trợ ghi dữ liệu
Tải Win32 Disk Imager
tại http://sourceforge.net/projects/win32diskimager/ (Direct link bản Portable)
Để chạy phần mềm, giải nén file vừa tải về và chạy file Win32DiskImager.exe
Bạn cũng có thể chạy ngay trong file nén bằng cách double-click vào file này
Hình 1.14 Tải phần mềm hỗ trợ ghi dữ liệu
Trang 27Các phần mềm khác cũng có tính năng tương đương như HDD Raw Copy, Rawrite32, hoặc lệnh dd nếu dùng Linux
Bước 4 Format thẻ nhớ
Format về định dạng bất kì như NTFS, FAT32, nếu trước đó bạn có lưu
dữ liệu trên thẻ
Hình 1.15 Format thẻ nhớ
Bước 5 Ghi file image đã tải về lên thẻ
Chạy Win32 Disk Imager, chọn Image File là file image 1.32GB đã giải nén ở bước 2 và chọn Device là thẻ nhớ đã chuẩn bị của mình
Hình 1.16 Format thẻ nhớ
Chú ý: chọn Device để ghi dữ liệu chính xác Vì đây là hành động ghi đè
dữ liệu mới lên thẻ nhớ nên nếu bạn ghi nhầm dữ liệu sang USB của mình, cơ may phục hồi gần như bằng 0
Trang 28Bấm nút write để bắt đầu ghi dữ liệu Với thẻ nhớ class 10, tốc độ ghi
trung bình là 10MB/s Quá trình ghi dữ liệu sẽ kết thúc trong khoảng 5 phút
Bước 6 Chạy Linux Yocto trên board Galileo
Ta chỉ cần cắm thẻ nhớ vào board và cấp nguồn cho nó Galileo sẽ tự động khởi động hệ điều hành vừa được cài đặt trên thẻ nhớ
Tài khoản đăng nhập mặc định là root, password mặc định không được cài đặt
1.1.5 Ứng dụng của board Intel Galileo Gen 2.0
Làm bộ xử lý cho máy bay điều khiển từ xa
Kết nối với máy tính qua cổng Enthernet hỗ trợ những dự án IoT
Thông báo qua email khi có thư đường bưu điện gửi tới hộp thư của bạn
Hệ thống chống trộm trong gia đình thông báo qua internet
Đo và hiển thị nhiệt độ môi trường
Đo và hiển thị tốc độ động cơ bước trên LCD
Truyền và nhận dữ liệu bằng RF, wifi, bluetooth…
1.2 Tìm hiểu Card WiFi
Card WiFi được sử dụng cho các biết bị như máy tính xách tay (laptop), máy tính bảng, điện thoại di động, Smartphone)…đó là các thiết bị có khả năng bắt sóng WiFi từ các thiết bị như modem wifi 1 cổng, modem wifi 4 cổng hay Router WiFi phát sóng ra
Card Wifi Centrino Wireless-N 135 hỗ trợ chuẩn WiFi 802.11b/g/n có bằng tần 2.4GHz, tốc độ 150Mbps và Bluetooth 4.0 BLE Khoảng cách truyền: trong nhà lên tới 30m, ngoài trời < 100m (nó được giới hạn trong một môi trường)
Trang 29Hình 1.17 Hình ảnh thực tế của Card Wifi Centrino Wireless-N 135
- Các đặc điểm kỹ thuật của Intel Centrino Wireless-N 135, Single Band
Giới thiệu chung
Kích thước (H x W x D) 26,80 mm x 30.00 mm x 2.4 mm Max (Top
Side) / 1,35 mm Max (Bottom Side)
Trang 30Điều khiển bặt/tắt thiết bị radio Tích hợp hai ăng-ten, truyền dẫn không dây
để cung cấp một hiệu suất tốt hơn, ổn định
và phủ sóng không dây
Tuân theo chuẩn IEEE 802.11b/g/n, 802.11d, 802.11e, 802.11i,
802.11h
Các công nghệ tiên tiến
Hiện thị không dây Intel Không
Công nghệ không dây 4G WiMax Không
Bảng 1.3 Các đặc điểm kỹ thuật của Intel Centrino Wireless-N 135, Single Band
Trang 31CHƯƠNG 2: CÔNG NGHỆ TRUYỀN THÔNG WIFI
2.1 Giới thiệu chung
2.1.1 Ưu, nhược điểm
Ưu điểm:
Mạng không dây không dùng cáp cho các kết nối, thay vào đó chúng sử dụng sóng vô tuyến Ưu thế của mạng không dây là khả năng di động và sự tự
do, người dùng không bị hạn chế về không gian và vị trí kết nối
Khả năng di động và sự tự do cho phép kết nối bất kỳ đâu
Không bị hạn chế về không gian và vị trí kết nối
Dễ lắp đặt và triển khai
Tiết kiệm thời gian lắp đặt và dây cáp
Không làm thay đổi thẩm mỹ, kiến trúc tòa nhà
Giảm chi phí bảo trì, bảo dưỡng hệ thống
2.1.2 Đặc điểm và phân loại
Khái niệm
Wi-Fi (Wireless Fidelity) hay mạng 802.11 là hệ thống mạng kết nối Internet không dây, sử dụng sóng vô tuyến để truyền tín hiệu Loại sóng vô tuyến này tương tự như giống như sóng điện thoại di động, truyền hình và radio Và trên hầu hết các thiết bị điện tử ngày nay như máy tính, laptop, điện thoại, máy tính bảng đều có thể kết nối Wifi Hiện tại các điểm truy cập Wi-Fi đã hiện diện hầu như khắp mọi nơi dưới dạng không có mật khẩu hoặc mã hóa WPA/WPA2 Ngoài các điểm kết nối công cộng (hotspots), Wi-Fi có thể được thiết lập ngay tại nhà riêng