我正在 Raspberrypi 4B 4Gb 上运行最新的 raspberry pi 操作系统“Linux raspberrypi 5.4.51-v7l+ #1327 SMP Thu Jul 23 11:04:39 BST 2020 armv7l GNU/Linux”。
我已经安装了 Python3
sudo apt-get install python3-dev python3-pip
更新了设置工具、轮子和 pip
sudo python3 -m pip install --upgrade pip setuptools wheel
并安装了 Adafruit_DHT 模块
sudo pip3 install Adafruit_DHT
之后,我将 DHT22 连接到 gpio4 上的 rpi 并创建了以下 python 脚本:
import Adafruit_DHT
import time
from datetime import datetime
DHT_SENSOR = Adafruit_DHT.DHT22
DHT_PIN = 4
PROBE_NAME = "PI4"
humidity, temperature = Adafruit_DHT.read_retry(DHT_SENSOR, DHT_PIN)
if humidity is not …Run Code Online (Sandbox Code Playgroud) 我使用ESP32 DEVKIT 链接和Adafruit VS1053 Codec + MicroSD Breakout - MP3/WAV/MIDI/OGG Play + Record - v4 链接来录制然后播放声音。我正在使用 Arduino IDE 进行编码。
我现在面临一个问题,该模块使用硬件中断来进行播放。但是当我尝试播放音轨时,ESP32 会一次又一次地重置。调试日志显示:
Guru Meditation Error: Core 1 panic'ed (Interrupt wdt timeout on CPU1)
Core 1 register dump:
PC : 0x400d1280 PS : 0x00060834 A0 : 0x800d128f A1 : 0x3ffc0bb0
A2 : 0x3ffc241c A3 : 0x3ffb1f20 A4 : 0x800d1779 A5 : 0x3ffb1f00
A6 : 0x3ffc241c A7 : 0x3f400f9c A8 : 0x800d1280 A9 : 0x3ffc0b90
A10 : 0x0000002b A11 …Run Code Online (Sandbox Code Playgroud) 我已经成功安装了Adafruit_Gpio包,当我尝试运行adafruit提供的bme传感器的示例文件时,我收到以下错误:
Traceback (most recent call last):
File "/home/rpi3/Adafruit_Python_BME280/example.py", line 3, in <module>
sensor = BME280(mode=BME280_OSAMPLE_8)
File "/home/rpi3/Adafruit_Python_BME280/Adafruit_BME280.py", line 88, in __init__
self._device = i2c.get_i2c_device(address, **kwargs)
File "/usr/local/lib/python3.5/dist-packages/Adafruit_GPIO-1.0.3-py3.5.egg/Adafruit_GPIO/I2C.py", line 64, in get_i2c_device
return Device(address, busnum, i2c_interface, **kwargs)
File "/usr/local/lib/python3.5/dist-packages/Adafruit_GPIO-1.0.3-py3.5.egg/Adafruit_GPIO/I2C.py", line 97, in __init__
self._bus = Adafruit_PureIO.smbus.SMBus(busnum)
File "/usr/local/lib/python3.5/dist-packages/Adafruit_PureIO/smbus.py", line 97, in __init__
self.open(bus)
File "/usr/local/lib/python3.5/dist-packages/Adafruit_PureIO/smbus.py", line 122, in open
self._device = open('/dev/i2c-{0}'.format(bus), 'r+b', buffering=0)
FileNotFoundError: [Errno 2] No such file or directory: '/dev/i2c-1'
Run Code Online (Sandbox Code Playgroud)
我在xubuntu上为rpi-3我运行了apt-get udpate并重新启动机器都没有工作.
我正在使用 Adafruit 的 Circuit Playground Express,并使用 Circuit Python 对其进行编程。
我想读取通过 USB 连接 Circuit Playground Express 的计算机传输的数据。使用input()工作正常,但我宁愿获取串行缓冲区,以便在没有输入时循环继续进行。就像是serial.read()。
import serial不适用于 Circuit Python,或者也许我必须安装一些东西。我还能做些什么来使用 Circuit Python 读取串行缓冲区吗?
我在 ArchLinux 上安装了 libnfc,并通过我的 Adafruit PN532 arduino SHIELD 使用它。
nfc-list返回消息“未找到 NFC 设备”。
我在 /etc/nfc/devices.d/pn532.conf 中有以下文件,它给了我
nfc-list 使用 libnfc 1.7.1 错误 libnfc.driver.pn532_uart pn53x_check_communication 错误 错误 libnfc.chip.pn53x 意外的 PN53x 回复!nfc-list:错误:无法打开 NFC 设备:pn532_uart:/dev/ttyACM0
知道如何解决这个问题吗?泰
亲爱的StackOverflowers,
我正在尝试将Adafruit的HX8357D 3.5“ TFT(链接)与esp32一起使用。TFT驱动程序具有两个接口:SPI和8位并行。Adafruit 的提供的库(链接)仅支持esp32上的SPI。我需要esp32具有更高的显示速度,所以我决定自己尝试添加对esp32的支持,虽然我完全没有这种编程经验,但是我喜欢挑战。
我通过对Arduino Uno / Mega支持进行反向工程来弄清楚8位接口是如何工作的。为了增加对esp32的支持,我需要一种直接操作控制esp32的gpio端口的寄存器的方法。我在互联网上四处张望,但是很少有如何执行此操作的示例。Espressif(link)的技术参考手册包含所有需要的信息,但是我不够熟练,无法弄清楚如何将其转换为代码。
要对esp32进行编程,我使用esp32 Arduino内核。本示例(链接)显示了如何将gpio引脚设置为输出,并直接使用寄存器将其设置为高电平和低电平。问题是我需要能够将8个引脚设置为输出,向它们写入数据,使其成为输入,然后从它们读取数据,所有这些都使用寄存器而不是使用pinMode,digitalRead和digitalWrite函数。
我知道它在Arduino Uno / Mega上的工作方式,其中有三个寄存器控制端口:
但是,这在esp32上如何工作?如何使用寄存器创建这种8位并行通信?
如果有人在这个主题上比我有更多的专业知识,我将不胜感激。提前致谢。
我正在开发自己的物联网技术,并使用带有 C/C++ 的 ESP8266。我已经设置了一个程序,允许我通过 gbridge.io 使用 Google Assistant 切换继电器。我使用 MQTT 将它订阅到 gbridge,它告诉它何时切换开关。不幸的是,我对处理网络相关的事情很陌生,所以我这可能是措辞不正确。它侦听(我认为是正确的词)端口 1883。我正在使用这种方法,因为我不想在我的家用路由器上打开一个端口。通过监听 1883 端口,我的路由器是否会暴露或网络易受攻击?此代码来自Adafruit MQTT 库示例。
#include <ESP8266WiFi.h>
#include "Adafruit_MQTT.h"
#include "Adafruit_MQTT_Client.h"
/************************* WiFi Access Point *********************************/
const char* WLAN_SSID = "SSID";
const char* WLAN_PASS = "password";
/************************* Adafruit.io Setup *********************************/
#define AIO_SERVER "mqtt.gbridge.io"
#define AIO_SERVERPORT 1883 // use 8883 for SSL
#define AIO_USERNAME "gbridge-username"
#define AIO_KEY "mqqt password"
/************ Global State (you don't need to change this!) ******************/
// Create an ESP8266 WiFiClient class to connect …Run Code Online (Sandbox Code Playgroud) adafruit ×7
arduino ×3
esp32 ×2
python ×2
arduino-ide ×1
c ×1
display ×1
esp8266 ×1
iot ×1
lib-nfc ×1
linux ×1
micropython ×1
mqtt ×1
nfc ×1
python-3.x ×1
raspberry-pi ×1
sensors ×1
wifi ×1