Mục lục:
- Bước 1: Chuẩn bị Raspberry Pi
- Bước 2: Chuẩn bị ví dụ đơn giản để thu thập dữ liệu từ Arduino
- 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
- Bước 4: Cài đặt Samba để chia sẻ thư mục
- Bước 5: Tham khảo hữu ích
Video: Thiết lập từ Scratch a Raspberry Pi để ghi dữ liệu từ Arduino: 5 bước
2024 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2024-01-30 13:34
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
- 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.
- 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)
- 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ẻ.
- 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.
- 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.
- Đị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
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
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
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:
- 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
- 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.
- 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:
Cách tạo bộ ghi dữ liệu thời gian thực về độ ẩm và nhiệt độ với Arduino UNO và thẻ nhớ SD. DHT11 Mô phỏng ghi dữ liệu trong Proteus: 5 bước
Cách tạo bộ ghi dữ liệu thời gian thực về độ ẩm và nhiệt độ bằng Arduino UNO và thẻ nhớ SD. DHT11 Data-logger Simulation in Proteus: Giới thiệu: xin chào, đây là Liono Maker, đây là liên kết YouTube. Chúng tôi đang thực hiện một dự án sáng tạo với Arduino và làm việc trên các hệ thống nhúng.Data-Logger: Một trình ghi dữ liệu (cũng là trình ghi dữ liệu hoặc trình ghi dữ liệu) là một thiết bị điện tử ghi lại dữ liệu theo thời gian
OpenLogger: Một trình ghi dữ liệu có độ phân giải cao, Wi-Fi được bật, nguồn mở, dữ liệu di động: 7 bước
OpenLogger: Trình ghi dữ liệu di động có độ phân giải cao, Wi-Fi Bật, Nguồn mở, Di động: OpenLogger là trình ghi dữ liệu di động, mã nguồn mở, chi phí thấp, độ phân giải cao được thiết kế để cung cấp các phép đo chất lượng cao mà không yêu cầu phần mềm hoặc phần mềm viết đắt tiền từ đầu. Nếu bạn là một kỹ sư, nhà khoa học hoặc một người đam mê
MicroPython trên ESP8266 WeMos D1 Mini giá rẻ $ 3 để ghi nhật ký nhiệt độ gấp đôi, Wi-Fi và số liệu thống kê trên thiết bị di động: 4 bước
MicroPython trên ESP8266 WeMos D1 Mini giá rẻ $ 3 để ghi nhật ký nhiệt độ gấp đôi, Wi-Fi và thiết bị di động: Với chip / thiết bị ESP8266 giá rẻ nhỏ bé, bạn có thể ghi dữ liệu nhiệt độ bên ngoài, trong phòng, nhà kính, phòng thí nghiệm, phòng làm mát hoặc bất kỳ nơi nào khác hoàn toàn miễn phí. Ví dụ này, chúng tôi sẽ sử dụng để ghi nhiệt độ phòng làm mát, bên trong và bên ngoài
Ghi nhật ký nhiệt độ và độ ẩm Arduino Ethernet DHT11, số liệu thống kê về thiết bị di động: 4 bước
Arduino Ethernet DHT11 ghi nhật ký nhiệt độ và độ ẩm, thống kê di động: Với Arduino UNO R3, Ethernet Shield VÀ DHT11, bạn có thể ghi dữ liệu nhiệt độ và độ ẩm bên ngoài, trong phòng, nhà kính, phòng thí nghiệm, phòng làm mát hoặc bất kỳ nơi nào khác hoàn toàn miễn phí. Ví dụ này chúng ta sẽ sử dụng để ghi nhiệt độ và độ ẩm trong phòng. Thiết bị
Kết nối cơ sở dữ liệu IOT của Raspberry Pi với MS Excel - Thiết lập: 3 bước
Kết nối cơ sở dữ liệu IOT của Raspberry Pi với MS Excel - Thiết lập: Trong thế giới thu thập dữ liệu IOT, người ta tạo ra rất nhiều dữ liệu luôn được lưu trong một hệ thống cơ sở dữ liệu như Mysql hoặc Oracle. Để có quyền truy cập và xử lý dữ liệu này, một trong những phương pháp hiệu quả nhất là sử dụng Microsoft Office prod