Mục lục:
- Quân nhu
- Bước 1: Tải xuống, sửa đổi tệp và in tệp 3D
- Bước 2: Hàn / Lắp ráp các thành phần - Phần a (Bàn phím và Số bên)
- Bước 3: Hàn / Lắp ráp các thành phần - Phần B (Lông vũ và cảm biến)
- Bước 4: Hàn / Lắp ráp các thành phần - Phần C (Bàn phím với cảm biến điện dung và Feathewing trong trường hợp)
- Bước 5: TÙY CHỌN - Linh kiện hàn / lắp ráp - Phần D (INA219 Feather)
- Bước 6: Vặn nắp lưng và cắm USB
- Bước 7: Chuẩn bị môi trường AWS
- Bước 8: Tải xuống khóa phần mềm và thiết lập dịch vụ của bên thứ 3
- Bước 9: Sửa đổi và tải lên mã AWS
- Bước 10: Chuẩn bị Arduino IDE và Thư viện tải xuống
- Bước 11: Cập nhật và cài đặt mã Arduino và tương tác
Video: Hãy biến nó thành như vậy! Máy tính kỹ thuật nhỏ Star Trek TNG: 11 bước (có hình ảnh)
2024 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2024-01-30 13:31
Tổng quat
Tôi lớn lên khi xem Star Trek: The Next Generation. Tôi luôn muốn xây dựng một thiết bị theo chủ đề Star Trek, vì vậy cuối cùng tôi đã bắt đầu phối lại một trong những dự án cũ của mình để tạo thành một Thiết bị đầu cuối hiển thị Star Trek.
Thiết bị đầu cuối cung cấp các thông tin sau:
- Thời tiết - sử dụng Dịch vụ thời tiết quốc gia
- Nhiệt độ trong nhà, độ ẩm và sức mạnh của hợp chất hữu cơ dễ bay hơi (VOC)
- Các bài báo - từ News.org
- Lên lịch (với chức năng báo thức) - từ Microsoft Outlook
- Thông tin về thể chất (Số bước, Số phút di chuyển, Điểm nhịp tim, Cân nặng, Lượng calo đã đốt cháy) - từ Google Fitness
- biểu đồ mã màu điện trở
- một Máy tính Điện trở LED (để xác định giá trị điện trở dựa trên dòng điện và công suất nguồn)
- Công cụ đo điện và dòng điện
Thông tin này được cung cấp thông qua sự kết hợp của các API và cảm biến phần cứng. Tôi sử dụng ESP32 cho bộ vi điều khiển và tận dụng Đám mây AWS để thu thập và tổng hợp dữ liệu.
Tôi cũng bao gồm một vài "trứng phục sinh":
-
Sự kính trọng của Ron McNair - Tiến sĩ McNair là lý do tôi trở thành một kỹ sư; anh ấy lớn lên cách quê hương tôi 45 phút. Anh ta chết trong vụ nổ Challenger.
- Tên con tàu ngôi sao của tôi là "USS Ronald E McNair"
- Số đăng ký là từ ngày sinh của Sr McNair; Mã Tiền tố là ngày anh ta mất mạng.
- Việc sử dụng "mã tiền tố" là một cái gật đầu cho Star Trek: Wrath of Khan (bộ phim Star Trek hay nhất mọi thời đại; đừng @ tôi).
- Các con số ở bên phải của trường hợp đầu cuối đề cập đến tình huynh đệ của tôi (1906 - Alpha Phi Alpha) và trường cũ và ngành học của tôi - (Đại học Oklahoma, Cao đẳng Kỹ thuật)
Bạn có tùy chọn tùy chỉnh đánh số, ký tự và tên tàu, sổ đăng ký, v.v. cho "trứng phục sinh" của riêng bạn.
Tiểu sử
Năm ngoái, tôi cần một phương pháp chi phí thấp để đo điện năng và mức tiêu hao pin cho một dự án thiết bị đeo được. Tôi đã mua một chiếc Adafruit INA219 Featherwing và sử dụng một số phụ tùng thay thế để chế tạo một thiết bị Đo công suất đơn giản (bạn có thể đọc thêm về nó tại đây).
Năm nay, tôi quyết định nâng cấp thiết bị… để làm cho nó “công nghệ” hơn. Ban đầu tôi dự định chế tạo một máy quay phim Star Trek (phiên bản Mark IV TR-590 Mark IX, dành cho những người quan tâm)… nhưng tôi nhanh chóng nhận ra rằng việc tạo ra thứ gì đó có thể đặt trên bàn làm việc của tôi sẽ có ý nghĩa hơn (ý tôi là, tại sao đi đến tất cả những rắc rối này để làm cho một thiết bị mát mẻ, chỉ cần đóng nó lại và cất nó vào ngăn kéo khi không sử dụng).
Vì vậy, tôi đã chuyển sang tạo một phiên bản của màn hình máy tính mà bạn thấy trên Star Trek TNG hoặc Voyager (hoặc các loại phim). Tôi đùa giỡn với các thiết kế khác nhau, sau đó tình cờ bắt gặp một phiên bản do Anh em nhà Ruiz của Adafruit tạo ra. Adafruit thực hiện rất tốt các tệp nguồn được cung cấp cho các dự án in 3D của họ, vì vậy tôi có thể lấy phiên bản gốc của chúng và phối lại nó cho phần cứng, nút và các thiết bị ngoại vi khác của tôi.
Những điều cần biết trước khi tiếp tục
- Tôi cung cấp hướng dẫn từng bước để tạo phiên bản dự án của tôi; tuy nhiên, tôi không đi vào chi tiết về các bước nhất định (tôi sẽ liên kết đến hướng dẫn hoặc tài liệu hỗ trợ)
-
Đây là một dự án phức tạp. Đó là một "chế tạo đa nguyên tắc", đòi hỏi các kỹ năng sau
- Arduino IDE
- AWS - Bạn sẽ cần một tài khoản và cần hiểu S3, Lambda và Node JS
- Hàn
- in 3d
- Có các tùy chọn "bổ sung" để nâng cao dự án nhằm nhận thông tin về Lịch và Thể dục. Chức năng được bao gồm trong cơ sở mã; tuy nhiên, bạn sẽ phải tạo "ứng dụng" trong đám mây Azure và Google để hỗ trợ các tính năng.
- Điều này cuối cùng có thể tùy chỉnh… bạn có thể hoán đổi Cảm biến hiện tại bằng một chiếc lông vũ khác. Bạn có thể sử dụng kết hợp lông vũ / wifi khác.
Quân nhu
Linh kiện điện tử
- Adafruit ESP32 Huzzah Feather
- Adafruit Featherwing Tripler Mini Kit
- Cảm biến cảm ứng điện dung 12 phím Adafruit đột phá
- Adafruit TFT FeatherWing - Màn hình cảm ứng 3,5 "480x320
- Adafruit BME680 - Cảm biến nhiệt độ, độ ẩm, áp suất và khí
- Bảng điều khiển DC 2.1 Giắc cắm thùng (2)
- Pin Lithium Ion Polymer - 3.7 V 500mAh
- Piezo Buzzer
- Cáp Mirco USB và bộ sạc 5V (bộ sạc điện thoại USB thông thường sẽ hoạt động)
- Băng lá đồng với chất kết dính
- Tùy chọn - Adafruit INA219 Featherwing
- Tùy chọn - 2.1 Phích cắm đực - (để sử dụng với Cảm biến dòng điện INA219)
Liên kết đến tất cả các thành phần điện tử ngoại trừ phích cắm 2.1:
Các thành phần sợi 3D và các thành phần sơn / chà nhám tùy chọn
- Proto Pasta dẫn PLA
- Các sợi 3D bổ sung - Tôi đã sử dụng 4 màu - Xám, Đen, Xanh lam (xanh nhạt) và Trắng
- Các vòi phun.25 và 0.4 mm (Tôi đã sử dụng 0.25 cho các chi tiết chữ).
Các thành phần và công cụ lắp ráp phần cứng
- Vít M2x5 và M3x5
- Ghim tiêu đề thẳng và góc phải (Xem danh sách mong muốn của Adafruit để biết các liên kết)
- Sắt hàn (và ống hàn, đầu thiếc, mút hàn, v.v.)
- Bộ tuốc nơ vít đầu Philips
- Thu nhỏ bọc
- Dây bện 22AWG - năm hoặc sáu màu
- Dây rắn 22AWG - năm hoặc sáu màu
- PCB Vise và Giúp tay (tùy chọn, nhưng giúp hàn dễ dàng hơn)
- Máy cắt dây chéo
- Dụng cụ cắt dây
- Xacto Knife (để tháo giá đỡ khỏi các bộ phận của máy in 3D)
- Máy in 3D (nếu bạn định tự in)
- Bột trét hoặc băng dính (để dán pin vào bên trong hộp đã in)
- Thước cặp kỹ thuật số
- Keo Krazy
- Tùy chọn - Găng tay dùng một lần Nitrile
- Tùy chọn - Thảm hàn (tùy chọn, nhưng bảo vệ bề mặt)
Lưu ý: nếu bạn không có những công cụ này, tôi khuyên bạn nên xem trang web của Becky Stern để biết các gợi ý về các lựa chọn tốt.
Phần mềm
Bước 1: Tải xuống, sửa đổi tệp và in tệp 3D
Bạn có thể gửi tệp tới dịch vụ in 3D (như 3D Hubs) hoặc bạn có thể tự in. Tệp có sẵn tại PrusaPrinters.org.
Trường hợp này là bản phối lại của Đồng hồ báo thức cổng Py được giới thiệu trên trang web Adafruit. Dự án của tôi sử dụng một TFT tương tự, vì vậy, tôi đã có thể giảm thiểu khối lượng công việc thiết kế cần thiết để làm cho vỏ hoạt động với các phụ kiện của tôi.
Tôi đã sử dụng các cài đặt sau để in:
- Mặt trước và mặt sau được in ở Chiều cao lớp 0,2mm với đầu phun 0,4mm, không có giá đỡ
- Số bên - được in ở Chiều cao lớp 0,10mm với đầu phun 0,25mm, không có giá đỡ
- Các phím - được in ở Chiều cao lớp 0,2mm với đầu phun 0,4mm. Bạn sẽ cần in 7 và bạn sẽ cần in bằng Sợi dẫn điện Proto-Pasta.
-
Vỏ - được in ở Chiều cao lớp 0,2mm.
Hỗ trợ là cần thiết, nhưng không cần thiết ở mọi nơi (chỉ ở hai bên và giữa nơi đặt bàn phím
Một số điều bạn nên biết:
- Prusa MK3 cho phép bạn thay đổi màu sắc ở các độ cao lớp khác nhau. Tôi đã sử dụng tính năng này cho phần số bên.
-
Ngoài ra, liên quan đến mảnh số bên:
- Đội ngũ sản xuất Star Trek TNG sẽ rắc trứng phục sinh vào đạo cụ. Nếu bạn nhìn kỹ các mảng và bảng khác nhau, bạn sẽ thấy tên mọi người, lời bài hát, v.v. Tôi muốn tạo "quả trứng phục sinh" của riêng mình cho số bên, vì vậy tôi sử dụng "06" - ám chỉ tình anh em của tôi (thành lập năm 1906), và "OUCOE" - dùng để chỉ trường cũ của tôi (Đại học Oklahoma, Cao đẳng Kỹ thuật).
- Tôi đã tạo một đoạn side_number "trống" mà bạn có thể sửa đổi để tạo số và văn bản tùy chỉnh của riêng bạn.
Bước 2: Hàn / Lắp ráp các thành phần - Phần a (Bàn phím và Số bên)
Đầu tiên, chúng tôi sẽ dán số bên. Sử dụng một chấm nhỏ của keo để đặt số bên vào vị trí.
Tiếp theo, chúng tôi sẽ lắp ráp bàn phím
-
Bạn sẽ cần cắt 7 đoạn dây bện - mỗi đoạn dài từ 10-12 inch. Chúng sẽ được kết nối với các Chân 0-6 của cảm biến cảm ứng điện dung. Tôi khuyên bạn nên sử dụng các màu khác nhau (và viết các màu / ánh xạ ghim xuống, vì bạn sẽ cần thông tin này sau này). Tôi đã sử dụng kết hợp màu sau:
- Màu vàng - Pin 0 / Nút 1
- Xám - Pin 1 / Nút 2
- Đỏ - Chốt 2 / Nút 3
- Màu xanh lam - Pin 3 // Nút 4
- Màu xanh lá cây - Pin 4 // Nút 5
- Trắng - Pin 5 // Nút 6
- Đen - Pin 6 // Nút 7
- Dải 1/2 in từ cuối mỗi dây.
- Cắt 7 miếng băng dính dẫn điện (mỗi miếng có chiều rộng khoảng 1/2 inch) và hàn các dây vào mặt đồng của băng.
- Gỡ bỏ lớp keo dính và dán chúng vào dưới cùng của các phím. Bạn có thể cần phải cắt bỏ một số băng đồng.
Lưu ý: Các phím có thể được dán từ dưới lên (sao cho chúng nằm ngang với mặt trên) hoặc dán từ trên (sao cho chúng "nổi" vài mm so với mặt trên). Tôi đã chọn để keo của tôi từ trên xuống.
Khi bạn đã hoàn thành tất cả 7, hãy sử dụng một miếng keo nhỏ để dán các phím vào bàn phím. Tôi thấy dễ dàng hơn để:
- Đầu tiên "rắn" dây qua lỗ khóa.
- Sau đó chấm một ít keo lên viền / viền của chìa khóa
- Nhanh chóng đặt chìa khóa tại chỗ.
Lưu ý: Keo Krazy hoạt động tốt nhất ở đây; bạn có thể muốn sử dụng găng tay để hạn chế tai nạn và khả năng kích ứng da.
Bước 3: Hàn / Lắp ráp các thành phần - Phần B (Lông vũ và cảm biến)
Bước tiếp theo là chuẩn bị và lắp ráp các thành phần phần cứng. Cuối cùng, điều này có nghĩa là hàn các chân và dây tiêu đề để sử dụng sau này. Hướng dẫn này giả định rằng bạn cảm thấy thoải mái với việc hàn; nếu không, hãy xem "Hướng dẫn để hàn tuyệt vời" này từ Adafruit.
Đầu tiên, chúng tôi sẽ chuẩn bị tài liệu. Đối với bước này, bạn sẽ cần:
- TFT 3.5 Featherwing
- Lông vũ ESP32
- INA219 Featherwing
- Tripler Featherwing
- Cảm biến cảm ứng điện dung MPR121
- Cảm biến BME680
- Các chân của Tiêu đề Góc thẳng và Góc phải
- Dây rắn và bện
- Dụng cụ hàn và bàn tay trợ giúp
- Máy cắt dây chéo và máy tước dây
- Calipers
Lưu ý: Trước tiên, tôi khuyên bạn nên đọc qua bước này và cắt tất cả các dây và tiêu đề trước khi bắt đầu hàn. Bằng cách đó, bạn sẽ không phải dừng lại để đo / cắt.
Chuẩn bị TFT 3.5 Featherwing
TFT đã sẵn sàng để sử dụng ngay lập tức với một lần điều chỉnh duy nhất. Bạn sẽ cần hàn một sợi dây giữa miếng đệm "Lite" và miếng hàn pin. Mã của chúng tôi sử dụng ESP32 Pin 21 để điều khiển TFT lite. Sắp xếp TFT theo cách "dài", với nút đặt lại ở phía dưới. Ghim 21 sẽ là ghim dưới cùng bên trái.
Cắt một đoạn dây dài 40mm. Dải các đầu dây để mỗi đầu có một vài mm dây. Sử dụng mỏ hàn của bạn, hàn cẩn thận vào cả hai chân.
Lưu ý: bạn chỉ cần khoảng 35mm chiều dài… vì vậy bạn có thể cắt dây khi cần thiết. Ngoài ra, tôi thấy rằng thêm chất hàn vào miếng đệm, sau đó vào dây, sau đó hàn dây vào miếng đệm là cách tiếp cận dễ nhất. Cuối cùng - những miếng đệm này nhỏ… nếu bạn không thoải mái, bạn luôn có thể bỏ qua bước này: nó chỉ để tắt TFT với bàn phím.
Chuẩn bị Lông vũ ESP32
Bạn sẽ cần hàn các chân cắm đầu đực tiêu chuẩn với ESP32. ESP32 của bạn nên đi kèm với các tiêu đề, mặc dù bạn có thể cần phải cắt chúng để có độ dài chính xác (16 chân ở cạnh dài; 12 chân ở cạnh ngắn). Ghim tiêu đề được tạo ra để "cắt đi", vì vậy bạn có thể sử dụng máy cắt đường chéo để cắt các tiêu đề theo chiều dài chính xác. Một lần nữa, Adafruit có những hướng dẫn tuyệt vời về cách thực hiện điều đó, vì vậy hãy kiểm tra nếu bạn cần hướng dẫn.
TÙY CHỌN - Chuẩn bị Máy chải lông INA219
Đầu tiên, hàn các đầu đực vào bộ phận chải lông (sử dụng các hướng dẫn tương tự như được sử dụng cho ESP32). Tiếp theo, cắt bốn đoạn dây dài 20mm. Tôi sẽ làm cho 2 màu ĐEN và các màu khác có màu khác. Tôi đã sử dụng XÁM và XANH LÁ cho các lựa chọn màu sắc của mình.
Rải các đầu dây sao cho mỗi đầu hở ra 3-4mm dây đồng. Bạn sẽ hàn một trong mỗi dây như dưới đây:
- XÁM -> V + (cộng)
- BLUE -> V- (trừ)
- ĐEN -> GND (mặt đất)
- ĐEN -> GND (mặt đất)
Để các đầu dây còn lại vào lúc này; cuối cùng chúng tôi sẽ hàn chúng vào phích cắm DC 2.1.
Đính kèm Piezo Buzzer
INA Featherwing đi kèm với một khu vực tạo mẫu nhỏ; chúng tôi sẽ sử dụng nó để đính kèm piezo của chúng tôi. Piezo sẽ cung cấp cho dự án của chúng tôi khả năng phát ra tiếng bíp và âm thanh cảnh báo, báo thức, v.v.
Piezo kết nối với ESP32 PIN 13; điều này tương quan với chân bên cạnh chân USB trên máy chải lông (xem hình ảnh để biết mũi tên). Chốt piezo còn lại kết nối với mặt đất. Những chiếc ghim hình tròn đủ dài để hàn chúng trực tiếp vào máy chải lông… bạn chỉ cần uốn cong những chiếc đinh ghim thành hình “người đàn ông chân vòng kiềng” (xem hình ảnh). Khi bạn đã có các chốt đúng vị trí, hãy dùng tay trợ giúp (hoặc băng dính) để giữ piezo ở đúng vị trí và hàn từ mặt dưới của cánh chải lông.
Lưu ý - Nếu bạn không sử dụng INA219, thì bạn sẽ cần phải hàn piezo trực tiếp vào bảng chải lông.
Chuẩn bị Tripler Featherwing
Việc vặt lông giúp chúng tôi tiết kiệm rất nhiều hàn; nó có thể chứa 3 lông vũ / lông vũ… vì vậy chúng tôi sẽ sử dụng nó để tạo kết nối điện giữa TFT, ESP32, INA219 (cũng như piezo và chân TFT Lite).
Để tạo các kết nối đúng cách, chúng ta sẽ cần hàn hai cặp tiêu đề xếp chồng và một cặp tiêu đề đực tiêu chuẩn.
- Các tiêu đề nam thông thường sẽ tiếp tục ở vị trí "trên cùng", nhưng sẽ được hàn vào mặt dưới cùng của Tripler.
- Hai tiêu đề xếp chồng sẽ được hàn ở vị trí 2 và 3, ở mặt trên của Tripler.
Điều này hơi khó hiểu, vì vậy hãy nhớ xem hình ảnh để hiểu vị trí của mỗi tiêu đề. Ngoài ra, sự kết hợp giữa PCB Vise và Help Hands có thể hỗ trợ rất nhiều trong việc hàn các linh kiện.
Chuẩn bị Cảm biến BME 680 và Cảm biến cảm ứng điện dung MPR121
Hai cảm biến cuối cùng là khó gắn nhất. Chúng ta cần gắn các chốt tiêu đề vào các bảng đột phá trước khi hoàn thiện việc lắp ráp.
Cảm biến BME được gắn ở góc 90, để tôi có thể căn chỉnh cảm biến vào một lỗ trên vỏ máy (để cảm biến có thể nắm bắt nhiệt độ, khí, độ ẩm). Bạn sẽ cần hàn các chốt góc vuông vào các lỗ. Xem các hình ảnh để đảm bảo bạn căn chỉnh chúng một cách chính xác.
Cảm biến Cảm ứng điện dung rất đơn giản - chỉ cần hàn các chân kết nối nam thẳng, như được nêu ở đây. Lưu ý: bạn KHÔNG NÊN hàn các chân vào Chân cảm ứng điện dung (0 - 11).
Gắn các Cảm biến BME 680 và MPR121 vào Bảng mạch Tripler
Cả hai Cảm biến đều giao tiếp qua I2C… có nghĩa là chúng ta chỉ cần tạo 4 kết nối giữa bảng đột phá và Featherwing. Để đơn giản, tôi hàn tất cả các kết nối giữa các bo mạch.
BME 680
Đối với cảm biến này, tôi sử dụng Help Hands và PCB Vise để giữ cả hai thành phần tại chỗ (xem hình trên). Bộ cảm biến BME680 nên được đặt ở cuối cánh quạt. Xem các hình ảnh ở trên để xác nhận vị trí.
Quá trình hàn các kết nối rất tẻ nhạt, vì vậy hãy thực hiện từ từ. Tôi sử dụng dây lõi rắn cho các kết nối:
- ĐEN - GND
- ĐỎ - VIN
- VÀNG - SCL (chân SCK trên cảm biến với
- ORANGE - SDA (chân SDA trên cảm biến)
Lưu ý: Các chân SCL và SDA là cần thiết cho cả hai cảm biến, vì vậy việc sử dụng chân SCL hoặc SDA trên một phần khác của Featherwing có thể dễ dàng hơn.
MPR121
Giúp tay cũng giúp ích khi hàn cảm biến này tại chỗ (băng cũng hoạt động). Mã sử dụng I2C để giao tiếp với ESP32, vì vậy bạn sẽ kết nối các chân SCA và SDA.
Bước 4: Hàn / Lắp ráp các thành phần - Phần C (Bàn phím với cảm biến điện dung và Feathewing trong trường hợp)
Bạn sẽ hàn các dây từ Bàn phím đến cảm biến Cảm ứng điện dung trong bước này. Sử dụng bản đồ màu tương tự từ trước đó. Nếu bạn làm theo cách phối màu của tôi, thì bạn sẽ hàn các dây màu như sau:
- Màu vàng - Pin 0 / Nút 1
- Xám - Pin 1 / Nút 2
- Đỏ - Chốt 2 / Nút 3
- Màu xanh lam - Pin 3 / Nút 4
- Màu xanh lá cây - Pin 4 / Nút 5
- Trắng - Pin 5 / Nút 6
- Đen - Chân 6 / Nút 7
Sau khi hàn xong, hãy dùng dây buộc xoắn để giữ dây cố định.
Tiếp theo, vặn màn hình TFT vào mảnh "Mặt trước". Bạn sẽ sử dụng vít M3 (tổng cộng bốn vít). Khi TFT đã ở đúng vị trí, hãy vặn miếng "Mặt trước" vào vỏ. Một lần nữa, bạn sẽ sử dụng vít M3 (hai).
Tiếp theo, cắm Featherwing Tripler, với tất cả các thành phần đã được cắm vào, vào TFT.
Lưu ý - Nếu bạn định sử dụng pin, hãy đảm bảo cắm pin vào cổng ESP32-JST trước khi lắp TFT. Dùng băng dính để dán pin vào đáy trong của hộp đựng.
Bước 5: TÙY CHỌN - Linh kiện hàn / lắp ráp - Phần D (INA219 Feather)
Nếu bạn đang sử dụng cảm biến INA219, thì đây là nơi bạn gắn dây vào phích cắm DC.
- Cắm phích cắm DC vào vỏ sau và vặn chúng vào vị trí.
-
Sử dụng mỏ hàn để kết nối các dây INA219.
- Các dây Đen sẽ đi đến GROUND cho mỗi phích cắm DC.
- Dây màu xám sẽ đi đến phích cắm INPUT DC
- Dây màu xanh lam sẽ đi đến phích cắm OUTPUT.
Bước 6: Vặn nắp lưng và cắm USB
Bước cuối cùng trong quá trình lắp ráp phần cứng là vặn nắp lưng vào đúng vị trí - sử dụng vít M2 (4). Từ đó, cắm cáp USB, kết nối nó với PC của bạn và tiến hành các bước phần mềm!
Bước 7: Chuẩn bị môi trường AWS
Như tôi đã nêu trong phần giới thiệu, tiền đề của giải pháp như sau:
- Thiết bị đầu cuối, được cung cấp bởi ESP32, sử dụng kết nối MQTT (qua Wifi) để giao tiếp với đám mây AWS.
- Đám mây AWS thực hiện phần lớn quy trình và đóng vai trò là thiết bị chuyển tiếp giữa Màn hình và các dịch vụ được yêu cầu.
Có một số điều chúng ta cần làm trong bước này:
Trước tiên, bạn cần thiết lập môi trường AWS của mình, nếu bạn chưa thiết lập. Hướng dẫn này giả sử bạn đã thiết lập Tài khoản AWS, do đó, hướng dẫn về cách thiết lập tài khoản đám mây không được bao gồm. Điều đó đang được nói, các bước là thẳng về phía trước và có thể được tìm thấy ở đây.
Khi bạn đã qua bước đó, bạn cần tạo một vài dịch vụ, vì vậy hãy đăng nhập vào bảng điều khiển AWS.
Tạo một điều và tải xuống các phím
AWS IoT Core tạo điều kiện giao tiếp giữa đám mây AWS và màn hình. Bạn sẽ cần tạo một "thứ" và tải xuống các chứng chỉ để hỗ trợ giao tiếp.
[Lưu ý: hầu hết các hướng dẫn này được lấy từ một hướng dẫn được viết bởi Moheeb Zara, Nhà truyền giáo AWS]
- Mở bảng điều khiển AWS và chọn AWS IoT Core.
- Trong bảng điều khiển AWS IoT, chọn Đăng ký một thứ mới, Tạo một thứ duy nhất.
- Đặt tên cho điều mới là "starTrekESP32". Để các trường còn lại được đặt thành mặc định. Chọn Tiếp theo.
- Chọn Tạo chứng chỉ. Chỉ có điều khoản tải xuống cert, private key và Amazon Root CA 1 là cần thiết để ESP32 kết nối. Tải xuống và lưu chúng ở nơi an toàn, vì chúng được sử dụng khi lập trình thiết bị ESP32.
- Chọn Kích hoạt, Đính kèm chính sách.
- Bỏ qua việc thêm chính sách và chọn Đăng ký Điều.
- Trong menu bên bảng điều khiển AWS IoT, chọn Bảo mật, Chính sách, Tạo chính sách.
- Đặt tên cho chính sách là AllowEverything. Chọn tab Nâng cao.
- Dán vào mẫu chính sách sau.
- {{"Phiên bản": "2012-10-17", "Tuyên bố": [{"Hiệu ứng": "Cho phép", "Hành động": "iot: *", "Tài nguyên": "*"}]}
- Chọn Tạo. (Lưu ý: Điều này chỉ được khuyến nghị để bắt đầu. Sau khi bạn cảm thấy thoải mái với mọi thứ hoạt động, vui lòng quay lại và thay đổi điều này thành thứ gì đó hạn chế hơn.)
- Trong bảng điều khiển AWS IoT, chọn Bảo mật, Chứng nhận.
- Chọn một cái được tạo cho thiết bị của bạn và chọn Hành động, Đính kèm chính sách.
- Chọn AllowEverything, Đính kèm.
- Trước khi bạn rời đi, hãy nhấp vào "Cài đặt" (trên menu bên trái). "Điểm cuối tùy chỉnh" của bạn sẽ được hiển thị; lưu nó vào một tệp văn bản… bạn sẽ cần nó khi định cấu hình ESP32.
Tạo tệp Lambda trống
Lambda là một dạng máy tính không máy chủ, vì vậy chúng tôi không phải lo lắng về bất kỳ phần cứng nào ở đây. Cuối cùng, đây là nơi chúng tôi sẽ đặt mã đã cập nhật của mình (chúng tôi sẽ thực hiện một vài bước). Hiện tại, chúng tôi chỉ muốn tạo một trình giữ chỗ, vì vậy…
- Đăng nhập lại vào bảng điều khiển AWS (nếu bạn đã đăng xuất) và nhấp vào Lambda.
- Nhấp vào nút "Tạo chức năng".
- Trên trang tiếp theo, hãy nhập một tên cơ bản, như starTrekDisplay
- Chọn Node.js 12. X
-
Dưới quyền:
- Nếu bạn biết cách của bạn xung quanh Lambda và quen thuộc với nó, thì bạn có thể chọn bất kỳ tùy chọn nào phù hợp. Bạn sẽ cần quyền trên CloudWatch, IotCore, S3 (đọc và ghi).
- Nếu bạn không chắc chắn về quyền, hãy chọn "Tạo vai trò mới với các quyền Lambda cơ bản". Viết ra tên của vai trò. Sau đó, chúng tôi sẽ sửa đổi các quyền.
- Nhấp vào Tạo chức năng.
- Sau một phút, bạn sẽ vào một màn hình mới với đoạn mã "hello world". Cuộn xuống dưới cùng đến Cài đặt cơ bản và nhấp vào "Chỉnh sửa"
- Thay đổi thời gian chờ từ 3 giây thành 2 phút 0 giây. Lưu ý: mã của bạn không bao giờ được chạy lâu hơn 5-10 giây… tuy nhiên, chúng tôi cần thời gian chờ lâu hơn để xác thực ban đầu của bạn với Microsoft (đối với chức năng lịch). Khi bạn đã xác thực, bạn có thể thay đổi điều này thành 20 giây.
- Nhấn lưu.
Tạo một quy tắc chung
- Ở trong bảng điều khiển Lambda và cuộn lên. Chọn "Thêm trình kích hoạt".
- Chọn AWS IoT. Sau đó chọn "Quy tắc tùy chỉnh".
-
Chọn "Tạo quy tắc mới".
- Tên quy tắc: Kết nối ESP
- Câu lệnh truy vấn quy tắc: "SELECT * FROM 'starTrekDisplay / pub'
- Nhấp vào "Thêm"
Tạo nhóm và thư mục S3
- Điều hướng đến Bảng điều khiển AWS và chọn S3.
- Bạn sẽ cần một thùng và thư mục để lưu trữ các tệp xác thực. Thư mục này phải ở chế độ riêng tư. Tôi khuyên bạn nên sử dụng bất kỳ nhóm nào bạn đã có và đặt tên cho thư mục tạo là "starTrekDisplay". Lưu ý - nếu bạn không có nhóm, hãy tạo một nhóm bằng cách sử dụng hướng dẫn tại đây.
Cập nhật quyền - Nếu bạn đã cho phép Lambda tạo một vai trò cho bạn, thì bạn cần làm theo bước này
- Đăng nhập vào bảng điều khiển AWS và chọn IAM
- Nhấp vào ROLES, sau đó chọn tên vai trò mà bạn đã tạo trước đó.
-
Nhấp vào đính kèm các chính sách, sau đó chọn các chính sách sau:
- AWSIoTFullAccess
- AmazonSNSFullAccess
- CloudWatchFullAccess
- AmazonS3FullAccess
Bước 8: Tải xuống khóa phần mềm và thiết lập dịch vụ của bên thứ 3
Tôi sử dụng các dịch vụ của bên thứ ba sau trong dự án:
- API thời gian thế giới - cho thời gian
- API dịch vụ thời tiết quốc gia - cho thời tiết
- API đồ thị của Microsoft để truy cập vào lịch của tôi
- API Google Fitness để truy cập vào thông tin thể dục
Bạn sẽ cần thiết lập tài khoản và khóa tải xuống để tận dụng các dịch vụ tương tự
API thời gian thế giới - cho thời gian
API này không yêu cầu khóa, vì vậy bạn không cần thực hiện hành động nào để làm cho nó hoạt động.
API dịch vụ thời tiết quốc gia - cho thời tiết
API Dịch vụ Thời tiết Quốc gia là miễn phí và không cần khóa API. Tuy nhiên, họ yêu cầu bạn chuyển thông tin liên hệ (dưới dạng email) trong mọi yêu cầu (như một phần của tệp tiêu đề). Bạn sẽ thêm thông tin liên hệ vào mã trong bước tiếp theo.
TÙY CHỌN - API Microsoft Graph và API Google Fitness
Đây là phần phức tạp nhất của quá trình thiết lập mã. Thiết bị của chúng tôi không có bàn phím chính thức… do đó, chúng tôi sử dụng một thứ gọi là OAUTH cho Thiết bị giới hạn để truy cập lịch của chúng tôi. Rất tiếc, bạn phải tạo một "ứng dụng" Azure và một Ứng dụng Google để bạn có mã sử dụng OAUTH cho các thiết bị hạn chế.
Hướng dẫn tạo ứng dụng có tại đây dành cho người hâm mộ của Microsoft tại đây đối với Google. Dưới đây là một số điều bạn nên biết:
- Bạn sẽ phải tạo tài khoản đám mây Azure và Google. Điều này là miễn phí và bạn sẽ không bị tính phí bất cứ điều gì
-
Microsoft:
- Bạn sẽ được yêu cầu cụ thể những gì người dùng có thể sử dụng ứng dụng. Tôi khuyên bạn nên chọn "Tài khoản trong bất kỳ thư mục tổ chức nào và tài khoản Microsoft cá nhân". Điều này sẽ cho phép bạn sử dụng tài khoản Microsoft cá nhân và tài khoản công ty (trong hầu hết các trường hợp).
- Bạn sẽ muốn chọn các ứng dụng "Di động và Máy tính để bàn", tuy nhiên, bạn không phải điền tất cả thông tin (vì đây là ứng dụng cá nhân). Điều này có nghĩa là bạn không thể cung cấp ứng dụng của mình cho thế giới…. nhưng điều đó không sao trong trường hợp này
- Sau khi ứng dụng của bạn được thiết lập, bạn sẽ cần chọn các quyền cần thiết. Tôi đã yêu cầu các quyền liên quan đến hồ sơ và lịch (xem hình ảnh trong thư viện để biết danh sách đầy đủ các quyền). Bạn sẽ cần phải chọn cùng một bộ này. Nếu bạn thêm nhiều quyền hơn, thì bạn sẽ cần phải thay đổi phạm vi một cách thích hợp trong bước tiếp theo.
Bước 9: Sửa đổi và tải lên mã AWS
Hướng dẫn này giả sử bạn đã quen với việc phát triển Node.js và Lambda. Tải xuống tệp được liên kết và thực hiện các sửa đổi để cập nhật:
- Thông tin ứng dụng và ứng dụng khách của Microsoft
- Khóa Google
- Địa chỉ email để theo dõi Dịch vụ Thời tiết Quốc gia
- Tên nhóm S3
- Tên thư mục S3
- Điểm cuối AWS
Bạn cũng sẽ cần tải xuống các thư viện nút sau:
- aws-sdk
- múi giờ thời điểm
- điểm nhấn
Khi những thay đổi đó được thực hiện, hãy tải mã lên lambda trình giữ chỗ mà bạn đã tạo trước đó.
Bước 10: Chuẩn bị Arduino IDE và Thư viện tải xuống
Hướng dẫn này cũng giả định rằng bạn đã quen thuộc với Arduino. Bạn sẽ cần đảm bảo IDE của mình được thiết lập để hoạt động với Adafruit ESP32. Làm theo hướng dẫn tại đây nếu bạn cần hỗ trợ.
Sau khi hoàn tất, hãy tải xuống các thư viện sau:
- Adafruit_GFX (từ người quản lý thư viện)
- Adafruit_HX8357 (từ người quản lý thư viện)
- TFT_eSPI (từ người quản lý thư viện)
- TFT_eFEX (https://github.com/Bodmer/TFT_eFEX)
- PubSubClient (từ người quản lý thư viện)
- ArduinoJson (từ người quản lý thư viện)
- Adafruit_STMPE610 (từ người quản lý thư viện)
- Adafruit_MPR121 (từ người quản lý thư viện)
- Adafruit_INA219 (từ người quản lý thư viện)
- Adafruit_Sensor (từ người quản lý thư viện)
- Adafruit_BME680 (từ người quản lý thư viện)
- Tone32 (https://github.com/lbernstone/Tone)
Tiếp theo, chúng tôi sẽ cần sửa đổi một số thư viện:
- Mở thư mục PubSubClient (trong thư mục Arduino / Thư viện) và mở "PubSubClient.h". Tìm giá trị cho MQTT_MAX_PACKET_SIZE và thay đổi nó thành 2000.
- Tiếp theo, mở thư mục TFT_eSPI và mở tệp "User_Setup_Select.h". Nhận xét bất kỳ dòng nào "gồm users_setup…" và thêm dòng này:
#bao gồm
Sau đó, tải xuống tệp Custom_Tricorder.zip được liên kết và giải nén tệp ".h" vào vị trí "TFT_eSPI / User_Setups" trong thư mục thư viện Arduino của bạn. tôi
Bây giờ, chúng ta có thể chuyển sang cập nhật mã Arduino
Bước 11: Cập nhật và cài đặt mã Arduino và tương tác
Mã Arduino
Tải xuống và giải nén tệp được liên kết cho mã Arduino. Chuyển đến tab secret.h. Bạn sẽ cần cập nhật những điều sau:
- WIFI_SSID = cập nhật bằng SSID wifi của bạn
- WIFI_PASSWORD = cập nhật bằng mật khẩu wifi của bạn
- TIMEZONE = cập nhật múi giờ của bạn từ danh sách này
- LAT (bạn có thể sử dụng một dịch vụ như "https://www.latlong.net" để tìm Vĩ độ và Kinh độ của mình
- LNG
- AWS_IOT_ENDPOINT = bạn nên lưu nó từ sớm hơn. Nó sẽ giống như "dx68asda7sd.iot.us-east1-amazonaws.com"
- AWS_CERT_CA
- AWS_CERT_CRT
- AWS_CERT_PRIVATE
Bạn cũng sẽ tải xuống các chứng chỉ từ bước trước đó. Sau đó, mở trong trình chỉnh sửa ghi chú (ví dụ: notepad) và dán văn bản vào giữa 'R "EOF (' và ') EOF";'. Đảm bảo bao gồm "----- BẮT ĐẦU CHỨNG NHẬN -----" hoặc "----- BẮT ĐẦU KHÓA RIÊNG TƯ RSA -----".
Tệp hình ảnh
ESP32 đi kèm với một hệ thống tệp nhỏ. Chúng tôi sử dụng hệ thống tệp này để lưu hình ảnh cho chương trình của chúng tôi. Bạn sẽ cần cài đặt công cụ cho phép bạn tải tệp lên.
- Đầu tiên, hãy truy cập hướng dẫn chuyên sâu về Hướng dẫn Nerd Ngẫu nhiên.
- Khi bạn đã làm việc này, bạn có thể tải lên các tệp trong thư mục dữ liệu (cũng được bao gồm trong tệp zip).
Đính hôn
Tải lên mã Arduino cuối cùng và bạn đã hoàn tất!
Lưu ý - Tên Star Trek và hình ảnh Star Trek thuộc sở hữu của CBS / Paramount. Họ có một chính sách khá lỏng lẻo khi nói đến cosplay và fan hư cấu - vui lòng đọc ở đây nếu bạn có thắc mắc.
Giải nhất cuộc thi Fandom
Đề xuất:
Tự làm cảm biến hình ảnh và máy ảnh kỹ thuật số: 14 bước (có hình ảnh)
Tự làm cảm biến hình ảnh và máy ảnh kỹ thuật số: Có rất nhiều hướng dẫn trực tuyến về cách xây dựng máy ảnh phim của riêng bạn, nhưng tôi không nghĩ rằng có bất kỳ hướng dẫn nào về việc xây dựng cảm biến hình ảnh của riêng bạn! Cảm biến hình ảnh có sẵn từ rất nhiều công ty trực tuyến và việc sử dụng chúng sẽ giúp thiết kế
FridgePi: Thức ăn thừa chưa bao giờ tốt như vậy: 7 bước (có hình ảnh)
FridgePi: Đồ ăn thừa Chưa bao giờ nghe hay như vậy: Trong nhiều năm, tôi đã chơi Air Phát nhạc từ iPhone sang thiết lập âm thanh nổi ở tầng hầm, với loa có dây nối ngược vào nhà bếp. Nó hoạt động đủ tốt, nhưng làm cạn pin điện thoại của tôi và giới hạn nội dung trong thư viện iTunes của tôi hoặc một số trang web rad
Biến màn hình máy tính CRT cũ của bạn thành bể cá! ! !: 11 Bước (có Hình ảnh)
Biến màn hình máy tính CRT cũ của bạn thành bể cá! ! !: Nói về trình bảo vệ màn hình tuyệt vời! Tôi đã muốn xây dựng này trong một thời gian. Cứ mỗi lần tôi nhìn thấy màn hình máy tính CRT cũ kỹ bên đường vào ngày rác rưởi, tôi lại tự nghĩ … điều đó chắc chắn sẽ tạo nên một chiếc bể cá trông rất ngầu. Vì thế
Lưu hành tinh và túi của bạn. $$ Chuyển đổi máy ảnh kỹ thuật số P&S giá rẻ của bạn thành có thể sạc lại: 4 bước (có hình ảnh)
Lưu hành tinh và túi của bạn. $$ Chuyển đổi Máy ảnh kỹ thuật số P&S giá rẻ của bạn thành Máy ảnh có thể sạc lại: Cách đây nhiều năm, tôi đã mua một Máy ảnh kỹ thuật số Dolphin Jazz 2.0 Megapixel. Nó có các tính năng và giá cả tốt. Nó cũng có cảm giác ngon miệng đối với các nhà hàng AAA. Không ai có thể tránh khỏi một thử thách, tôi nghĩ tôi sẽ sửa đổi nó để sử dụng pin có thể sạc lại để không lãng phí ba
Chế tạo rô bốt nhỏ: Chế tạo rô bốt Sumo siêu nhỏ 1 inch khối và nhỏ hơn: 5 bước (có hình ảnh)
Xây dựng rô bốt nhỏ: Chế tạo rô bốt siêu nhỏ và rô bốt khối siêu nhỏ 1 inch Inch: Dưới đây là một số chi tiết về cách chế tạo rô bốt và mạch điện tí hon. Tài liệu hướng dẫn này cũng sẽ đề cập đến một số mẹo và kỹ thuật cơ bản hữu ích trong việc chế tạo rô bốt ở bất kỳ kích thước nào. Đối với tôi, một trong những thách thức lớn trong lĩnh vực điện tử là xem