Tôi gặp sự cố khi làm cho chiếc mũ SIM800 của tôi hoạt động với Raspberry Pi Zero W; Tôi nghĩ rằng nó có thể là do gpios bị cháy ... Vì vậy, tôi đã thử với Raspberry Pi 3. Cùng một rắc rối.
Sau đó tôi đã tìm thấy giải pháp này và nó hoạt động trên RPI III của tôi (Tôi chưa thử trên Zero):
https://www.modmypi.com/blog/how-to-connect-your-raspberry-pi-to-a-3g-network
Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách kết nối Raspberry Pi của bạn với mạng 3G bằng cách sử dụng Bảng mạch GSM Itead Raspberry Pi (SIM800). Bảng đột phá này giao tiếp với Pi qua nối tiếp, nhưng như chúng ta biết các cổng nối tiếp của Pi ban đầu đã được sử dụng, vì vậy chúng ta sẽ cần phải thực hiện một chút trò đùa tinh nghịch để giải phóng các cổng nối tiếp.
Giải phóng các cổng nối tiếp của bạn
Đầu tiên chúng ta cần chỉnh sửa tệp /boot/config.txt
sudo nano /boot/config.txt
Thêm các dòng sau
dtoverlay=pi3-miniuart-bt
enable_uart=1
force_turbo=1
Bây giờ chúng tôi cần chỉnh sửa tệp /boot/cmdline.txt
sudo nano /boot/cmdline.txt
Xóa tất cả các tham chiếu của "console =", ví dụ, nếu dòng này đọc:
dwc_otg.lpm_enable=0 console=serial0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait
Thay đổi nó thành:
dwc_otg.lpm_enable=0 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait
Tiếp theo, chúng ta cần chỉnh sửa tệp /lib/systemd/system/hciuart.service:
sudo nano /lib/systemd/system/hciuart.service
Nhận xét dòng After = (bằng cách thêm ký hiệu # ở đầu dòng) và thêm dòng sau vào dòng mới
After = dev-ttyS0.device
Nhận xét dòng ExecStart = (bằng cách thêm ký hiệu # ở đầu dòng) và thêm dòng sau vào dòng mới
ExecStart = /usr/lib/hciattach /dev/ttyS0 bcm43xx 460800 noflow -
Tôi hi vọng nó giúp ích cho ai đó!!