Mục lục:

Thiết lập từ Scratch a Raspberry Pi để ghi dữ liệu từ Arduino: 5 bước
Thiết lập từ Scratch a Raspberry Pi để ghi dữ liệu từ Arduino: 5 bước

Video: Thiết lập từ Scratch a Raspberry Pi để ghi dữ liệu từ Arduino: 5 bước

Video: Thiết lập từ Scratch a Raspberry Pi để ghi dữ liệu từ Arduino: 5 bước
Video: Cài đặt, cấu hình Raspberry Pi 4 | Bài 1 - Lập trình IoT cơ bản 2024, Tháng mười hai
Anonim
Thiết lập từ cào Raspberry Pi để ghi dữ liệu từ Arduino
Thiết lập từ cào Raspberry Pi để ghi dữ liệu từ Arduino

Hướng dẫn này dành cho những người không có kinh nghiệm cài đặt phần cứng hoặc phần mềm mới, chứ đừng nói đến Python hoặc Linux.

Giả sử bạn đã đặt hàng Raspberry Pi (RPi) với thẻ SD (ít nhất 8GB, tôi đã sử dụng 16GB, loại I) và nguồn điện (5V, ít nhất 2,5A). Hôm nay, bạn quyết định thiết lập nó và ghi lại dữ liệu từ Arduinos. Vì vậy, hãy bắt đầu!

Hướng dẫn bao gồm thiết lập Raspberry Pi ngay từ đầu, bao gồm Desktop Remote, chuẩn bị Arduino với cảm biến nhiệt độ 18B20 và thực thi tập lệnh Python trong Raspberry Pi để thu thập và lưu dữ liệu. Tôi đã cập nhật bài đăng bằng cách thêm chia sẻ samba để chuyển tệp giữa máy tính chủ (PC của bạn) và Raspberry Pi

Bước 1: Chuẩn bị Raspberry Pi

Chuẩn bị Raspberry Pi
Chuẩn bị Raspberry Pi
Chuẩn bị Raspberry Pi
Chuẩn bị Raspberry Pi
Chuẩn bị Raspberry Pi
Chuẩn bị Raspberry Pi
Chuẩn bị Raspberry Pi
Chuẩn bị Raspberry Pi
  1. Tải xuống hệ điều hành cho RPi. Tôi đề xuất một phiên bản đầy đủ của Raspbian, như ở đây.
  2. Giả sử rằng bạn có một máy tính đang hoạt động chạy trên Windows, hãy tải xuống phần mềm Rufus để ghi hình ảnh vào thẻ SD. Cuộn xuống và tải rufus 3.0 (tháng 6 năm 2018)
  3. Giải nén tệp Raspbian (4,6 GB) và chọn cẩn thận thẻ SD mục tiêu của bạn. Mất khoảng 3 phút để hoàn thành việc ghi hình ảnh vào thẻ.
  4. Cắm khe cắm thẻ SD, cắm cáp nguồn vào cổng micro USB, cáp Màn hình với HDMI, bàn phím, chuột là tùy chọn.
  5. Chờ cho đến khi RPi khởi động và hiển thị màn hình nền, nhấn phím Window, vào phần Phụ kiện / Thiết bị đầu cuối và nhấn Enter.
  6. Định cấu hình RPi theo loại:

sudo raspi-config

7. Thay đổi một số điều trong cấu hình RPi:

  • Trong 1. Thay đổi mật khẩu
  • Trong 2. Tùy chọn mạng: Thay đổi tên máy chủ (một cái gì đó duy nhất, của tôi là rpi1001), và SSID wifi và mật khẩu.
  • Trong 4. Tùy chọn vị trí: Thay đổi múi giờ, bàn phím, ngôn ngữ
  • Trong 5. Tùy chọn giao diện: Bật SSH (để đăng nhập qua dòng lệnh), Bật VNC (cho điều khiển từ xa trên máy tính để bàn)
  • Trong 7: Tùy chọn nâng cao: Mở rộng hệ thống tệp:
  • Khởi động lại
  • Sau khi khởi động: ghi lại địa chỉ IP bằng cách chạy

sudo ifconfig

Nếu sử dụng Ethernet, IP phải là khối đầu tiên, nếu sử dụng Wifi, IP nằm trên khối thứ ba, giống như 192.168.1.40, hãy chạy lệnh này để cập nhật bản phân phối Linux:

sudo apt-get update && sudo apt-get upgrade –y && sudo poweroff

Cái cuối cùng sẽ tắt RPi sau khi cập nhật xong

8. Nếu bạn quên ghi chú IP của RPi hoặc nó được thay đổi gần đây, hãy sử dụng PowerShell (gõ PowerShell vào hộp tìm kiếm trong Windows)

Trong PowerShell để ping Rpi: p ing rpi1001.local –4, hãy lấy một cái gì đó như thế này 192.168.1.40. rpi1001 là tên máy chủ cho Rpi của tôi.

9. Cài đặt VNCViewer, phần mềm này hoạt động giống như TeamViewer, hoặc Desktop Remote trên Windows (chỉ Win 10 Pro mới có tính năng Desktop Remote).

Cài đặt trên máy Windows của bạn, trong hộp tìm kiếm ở đầu VNCViewer, nhập IP của RPi (192.168.1.40) hoặc tên máy chủ của RPi (của tôi là rpi1001.local) và Enter. Nhập mật khẩu của tên bạn RPi, chọn 'Nhớ mật khẩu' nếu muốn. Nếu mọi thứ suôn sẻ, bạn sẽ thấy màn hình nền Rpi bật lên.

10. Để chuyển tệp từ hoặc sang TeamView, cách đơn giản nhất là sử dụng tính năng truyền tệp tích hợp của VNCView:

Và rằng bạn có thể sử dụng Raspberry để thu thập dữ liệu cho mình và đăng nhập để lấy dữ liệu khi cần.

Bước 2: Chuẩn bị ví dụ đơn giản để thu thập dữ liệu từ Arduino

Chuẩn bị ví dụ đơn giản để thu thập dữ liệu từ Arduino
Chuẩn bị ví dụ đơn giản để thu thập dữ liệu từ Arduino
Chuẩn bị ví dụ đơn giản để thu thập dữ liệu từ Arduino
Chuẩn bị ví dụ đơn giản để thu thập dữ liệu từ Arduino

Giả sử bạn muốn thu thập nhiệt độ từ 4 cảm biến. Trong ví dụ này, tôi đã sử dụng 18B20, một cảm biến nhiệt độ phổ biến. Các tùy chọn khác là dòng TMP35, 36 hoặc nhiệt điện trở.

Hệ thống dây điện được bao gồm ở trên. Các 18B20 chia sẻ dây (hoặc bus) và đây là mã Arduino trên Github. Tệp đính kèm trong tệp bên dưới cũng chứa mã và bản đồ đi dây.

Ngoài ra, hãy cài đặt trình điều khiển USB cho Arduino trong Windows. Hầu hết các Arduino ‘clone’ đều sử dụng trình điều khiển USB CH341. Người lái xe đang ở đây.

Cài đặt trình điều khiển, khi cắm Arduino vào USB Windows của bạn, nó sẽ nhận ra trình điều khiển và gán một cổng COM (của tôi là COM4)

Serial Monitor sẽ xuất ra như hình trên.

Bước 3: Khởi động RPi bằng cách rút phích cắm và cắm nguồn cho RPi. Khởi động VNCViewer, đăng nhập RPi của bạn

Khởi động RPi bằng cách rút phích cắm và cắm nguồn cho RPi. Khởi động VNCViewer, đăng nhập RPi của bạn
Khởi động RPi bằng cách rút phích cắm và cắm nguồn cho RPi. Khởi động VNCViewer, đăng nhập RPi của bạn
Khởi động RPi bằng cách rút phích cắm và cắm nguồn cho RPi. Khởi động VNCViewer, đăng nhập RPi của bạn
Khởi động RPi bằng cách rút phích cắm và cắm nguồn cho RPi. Khởi động VNCViewer, đăng nhập RPi của bạn
Khởi động RPi bằng cách rút phích cắm và cắm nguồn cho RPi. Khởi động VNCViewer, đăng nhập RPi của bạn
Khởi động RPi bằng cách rút phích cắm và cắm nguồn cho RPi. Khởi động VNCViewer, đăng nhập RPi của bạn
Khởi động RPi bằng cách rút phích cắm và cắm nguồn cho RPi. Khởi động VNCViewer, đăng nhập RPi của bạn
Khởi động RPi bằng cách rút phích cắm và cắm nguồn cho RPi. Khởi động VNCViewer, đăng nhập RPi của bạn

Chuyển tập lệnh Python, sử dụng công cụ VNCViewer. Có một biểu ngữ ở gần đầu VNCViewer, hãy tìm nút hai mũi tên. Để chuyển dữ liệu từ RPi sang Windows, hãy sử dụng biểu tượng Truyền tệp bằng VNC ở trên cùng bên phải (gần biểu tượng Wifi) trên màn hình của RPi.

Raspberry chạy trên Linux và Python 2 và 3 được cài đặt theo mặc định. Bạn chỉ cần cài đặt một thư viện Python có tên là pyserial để thu thập dữ liệu in ra từ dòng nối tiếp.

để cài đặt python Serial, hãy nhập dòng này vào thiết bị đầu cuối Linux

sudo apt-get install python3-serial

  • trong Windows: gõ PowellShell này:
  • pip.exe cài đặt pyserlal

Sau đó tải xuống tập lệnh và lưu nó vào màn hình của RPi

Để chạy tập lệnh, trước tiên hãy làm cho nó có thể thực thi được bằng cách:

sudo chown u + x recordSerial.py

Tải mã Arduino lên bảng Arduino, sau đó cắm cáp USB của bạn với USB vào, kiểm tra cổng bằng cách:

  • Trên Linux, nhập mã này vào terminal: ls / dev / ttyUSB *
  • Trên Wndows: đi tới Trình quản lý Thiết bị, kiểm tra COM #

Nếu tập lệnh được sửa đổi trên Windows, bạn có thể cần chạy tập lệnh Python tới dos2unix để xóa ký tự kết thúc dòng kỳ lạ bởi Windows. Cài đặt nó bằng

sudo apt-get install dos2unix

và chuyển đổi tập lệnh bằng cách chạy tập lệnh này trong thiết bị đầu cuối

dos2unix recordSerial.py

Đã sửa đổi cổng thực tế trong tập lệnh bởi một trình soạn thảo văn bản:

sudo nano recordSerial.py

sau đó chạy./recordSerial.py yourfilename.txt

Tập lệnh Python sẽ lưu dữ liệu từ RAM vào đĩa sau mỗi 10 dòng, có thể được điều chỉnh.

Để dừng ghi, hãy nhấn Ctrl + C, Tập lệnh có thể chạy trên Windows (nhấp đúp), tên của dữ liệu nhật ký là mặc định bao gồm dấu thời gian

Nếu bạn là PowerShell, bạn có thể nhập tên tệp tùy chỉnh của mình, python.exe recordSerial.py awesome.txt

Không phải tất cả 18B20 đều giống nhau. Xem bài đọc!

Tôi cũng đã đẩy mã lên GitHub.

Hy vọng hướng dẫn này là hữu ích!

Bước 4: Cài đặt Samba để chia sẻ thư mục

Cài đặt Samba để chia sẻ thư mục
Cài đặt Samba để chia sẻ thư mục
Cài đặt Samba để chia sẻ thư mục
Cài đặt Samba để chia sẻ thư mục
Cài đặt Samba để chia sẻ thư mục
Cài đặt Samba để chia sẻ thư mục

Bước này sẽ hướng dẫn bạn một số thiết lập cơ bản để có một thư mục chia sẻ được lưu trữ trên Raspberry Pi có thể được truy cập từ các máy tính khác.

Đầu tiên, hãy cài đặt samba, một chương trình chia sẻ và quản lý thư mục chia sẻ trên mạng:

sudo apt-get install samba

tạo một thư mục chia sẻ

mkdir ~ / Desktop / sambaShare

sửa đổi tệp cấu hình cho samba bằng cách:

sudo samba /etc/samba/smb.conf

thêm các dòng sau vào cuối tệp:

[sambaShare] comment = chia sẻ Thư mục trên đường dẫn RPI nghiên cứu = / home / pi / Desktop / sambaShare có thể duyệt = có chỉ đọc = không có thể ghi = có công khai = có tạo mặt nạ = 0777 hiển thị mặt nạ = 0777 khách ok = có

Nếu bạn gặp sự cố khi viết trên windows, hãy buộc nó bằng cách thêm dòng này vào cuối tệp: force user = pi

Trên Linux, bạn có thể cần sử dụng người dùng gốc (tôi sẽ đăng vấn đề sau khi tôi phát hiện ra)

Tiếp theo, thêm người dùng vào samba và tạo mật khẩu:

sudo smbpasswd -a pi

sau đó nhập mật khẩu cho samba (có thể giống hoặc khác với mật khẩu cho người dùng pi trên hệ thống)

kiểm tra xem tệp cấu hình có ổn không

testparm

nhấn Ctrl + X để lưu, sau đó khởi động lại dịch vụ samba bằng cách:

sudo systemctl khởi động lại smbd

Trên máy chủ, giả sử Linux:

nếu không, hãy cài đặt samba cộng với sambaclient và cifs để hỗ trợ ổ chia sẻ, vui lòng thực hiện bằng cách chạy:

sudo apt-get installs samba smbclient cifs-utils

Kiểm tra xem thư mục được chia sẻ trên RPI đã sẵn sàng chưa bằng cách:

sudo smbclient -L yourRPI_IP

nếu bạn thấy ổ chia sẻ, hãy tạo một điểm gắn kết trên Linux:

sudo mkdir / mnt / researchRPi

sudo chown user: usergroup -R / mnt / researchRPI

người dùng, nhóm người dùng là người dùng Linux và tên nhóm của bạn

sau đó gắn kết chia sẻ bằng cách:

sudo mount -f cifs -o username = pi // your_rpi_IP / sambaShare / mnt / researchRPi

nhập mật khẩu của bạn và tạo một liên kết mềm đến màn hình của bạn:

sudo ln -s / mnt / researchRPi ~ / Desktop / researchRPi

nếu bạn gặp sự cố với quyền đọc-ghi trên thư mục chia sẻ, hãy thử nghiệm với quyền yếu:

trên PI:

sudo chmod -R 776 ~ / Desktop / sambaShare

Trên Windows, nó thậm chí còn dễ dàng hơn, Đi tới Máy tính của tôi, và ánh xạ một thư mục, sau đó nhập IP của RPI, thư mục được chia sẻ sẽ xuất hiện. Tôi tin rằng có điều gì đó trên Mac mà bạn có thể duyệt qua thư mục được chia sẻ trên mạng.

Bước 5: Tham khảo hữu ích

Dưới đây là một số thông tin tham khảo hữu ích:

  1. Có một cách tiếp cận khác ở đây bằng cách sử dụng thư viện pyserial và numpy
  2. Một cái nhìn toàn diện về giao tiếp điện tử bắt đầu từ việc cài đặt Arduino IDE. Một tài liệu tham khảo tốt nếu bạn muốn tìm hiểu sâu hơn.
  3. Một bài viết ngắn gọn nhưng cụ thể. Một tùy chọn ngắn và đủ cho các lựa chọn thay thế để ghi dữ liệu

Đề xuất: