Inhoudsopgave:
- Benodigdheden
- Stap 1: Hoe installeer ik de DockerPi-serie van SensorHub met de RaspberryPi
- Stap 2: Open de I2C(1) van de RaspberryPi
- Stap 3: Open de I2C (2) van de RaspberryPi
- Stap 4: Open de I2C (3) van de RaspberryPi
- Stap 5: Softwareomgeving(1)
- Stap 6: Softwareomgeving(2)
- Stap 7: Softwareomgeving (3)
- Stap 8: Codes(1)
- Stap 9: Codes(2)
- Stap 10: Codes (3)
- Stap 11: Codes (4)
- Stap 12: Codes(5)
- Stap 13: Codes (6)
2025 Auteur: John Day | [email protected]. Laatst gewijzigd: 2025-01-13 06:57
Hallo, alle jongens. Tegenwoordig heeft bijna alles te maken met IOT. Ongetwijfeld ondersteunt ons DockerPi-seriebord ook de IOT. Vandaag wil ik de DockerPi-serie van SensorHub introduceren, hoe u deze op IOT kunt toepassen.
Ik voer dit item uit dat is gebaseerd op de Azure IOT HUB. Azure IOT HUB kan worden gebruikt om IOT-oplossingen te bouwen met betrouwbare en veilige communicatie tussen miljoenen IOT-apparaten en een backend van een door de cloud gehoste oplossing.
Met behulp van onze SensorHub kunt u bijvoorbeeld de temperatuur van uw kamer weten en of iemand op internet bij u thuis is aangekomen.
Benodigdheden
- 1 x sensorhubkaart
- 1 x Raspberry Pi 3B/3B+/4B
- 1 x 8GB/16GB TF-kaart
- 1 x 5V/2.5A voeding of 5v/3A voeding voor RPi 4B
Stap 1: Hoe installeer ik de DockerPi-serie van SensorHub met de RaspberryPi
Laten we eerst kijken hoe we de DockerPi-serie van SensorHub met Raspberry Pi kunnen installeren
Je hoeft alleen maar hun 40-pins pinnen erin te steken.
Wees voorzichtig. Schakel de stroom uit wanneer u ze installeert
Stap 2: Open de I2C(1) van de RaspberryPi
Voer de opdracht op de afbeelding uit: sudo raspi-config
Stap 3: Open de I2C (2) van de RaspberryPi
Stap 4: Open de I2C (3) van de RaspberryPi
Stap 5: Softwareomgeving(1)
Eerst moet je de versie van je python3 controleren.
Stap 6: Softwareomgeving(2)
Vervolgens moet u de relevante Azure-componenten installeren. Wees voorzichtig, u moet de opdracht gebruiken die de "python3" bevat:
Stap 7: Softwareomgeving (3)
Vervolgens moet je controleren of je de tool van git al hebt geïnstalleerd, als je de git hebt geïnstalleerd, voer dan de volgende commando's uit:
Stap 8: Codes(1)
- Ga naar de volgende map: azure-iot-sdk-python/tree/master/azure-iot-device/samples/advanced-hub-scenarios
- Open het volgende bestand:update_twin_reported_properties.py
- U ziet de bronbestandscodes als volgt op de afbeelding:
- verander naar de volgende codes op de afbeelding: de hostnaam… die je zou kunnen krijgen van de Azure-website.
- Open het bestand:get_twin.py en doe hetzelfde:
Stap 9: Codes(2)
Je moet ook enkele python3-bibliotheken importeren in bestand update_twin_reported_properties.py:
Stap 10: Codes (3)
Voeg vervolgens de volgende codes toe op de afbeelding, u kunt ook kopiëren en plakken in uw bestand:
bus = smbus. SMBus(1) wacht op device_client.connect() aReceiveBuf = aReceiveBuf.append(0x00) # 占位符 for i in range(0x01, 0x0D + 1): aReceiveBuf.append(bus.read_byte_data(0X17, i)) if aReceiveBuf[0X01] & 0x01: state0 = "Off-chip temperatuursensor buiten bereik!" elif aReceiveBuf[0X01] & 0x02: state0 = "Geen externe temperatuursensor!" else: state0 = "Huidige temperatuur buiten de chip-sensor = %d Celsius" % aReceiveBuf[0x01]
licht = (bus.read_byte_data(0x17, 0x03) << 8) | (bus.read_byte_data(0x17, 0x02)) temp = bus.read_byte_data(0x17, 0x05) vochtigheid = bus.read_byte_data(0x17, 0x06) temp1 = bus.read_byte_data(0x17, 0x08) druk = (bus.read_byte_data(0x17, 0x0B)) << 16) | ((bus.read_byte_data(0x17, 0x0A) << 8)) | ((bus.read_byte_data(0x17, 0x09))) state = bus.read_byte_data(0x17, 0x0C) if (state == 0): state = "de sensor van BMP280 is ok" else: state = "de sensor van BMP280 is slecht"
mens = bus.read_byte_data (0x17, 0x0D)
if (mens == 1): mens = "levend lichaam is gedetecteerd" else: mens = "geen levend lichaam"
Stap 11: Codes (4)
Voer vervolgens het bestand update_twin_reported_properties.py uit en u zult het resultaat zien:
Stap 12: Codes(5)
Open vervolgens het bestand:get_twin.py en voer de volgende codes in, u kunt ook de codes kopiëren en in uw bestanden plakken:
print("{}".format(twin["gerapporteerd"]["state0"])) print("Gemeld licht is: {}".format(twin["gerapporteerd"]["light"]), "Lux ") print("Gerapporteerde temperatuur van bord is: {}".format(twin["gerapporteerd"]["temperatuur"]), "degC") print("Gerapporteerde vochtigheid is: {}".format(twin[" gerapporteerd"]["vochtigheid"]), "%") print("Gerapporteerde temperatuur van sensor is: {}".format(twin["gerapporteerd"]["temperatuur1"]), "degC") print("Gemeld luchtdruk is: {}".format(twin["gerapporteerd"]["druk"]), "Pa") print("Gemeld {}".format(twin["gerapporteerd"]["staat"])) print("Gemeld of het detecteren van levend lichaam is: {}".format(twin["gerapporteerd"]["mens"]))
Stap 13: Codes (6)
Voer vervolgens het bestand get_twin.py uit en u zult het resultaat zien dat is bijgewerkt vanuit het bestand update_twin_reported_properties.py: