Externe auto Monitoring en Tracking met Intel Edison (4 / 5 stap)

Stap 4: OBD-II-gegevens


OBD-II-gegevens is vrij netjes en er is veel geschreven over het uit op het internet. Dus, als het is iets wat die u in geinteresseerd bent ga dan wat te lezen. Het is de moeite waard. Hier zijn enkele opvallende punten:

  • Er zijn eigenlijk verschillende specs geïmplementeerd die vallen onder de omgangstaal paraplu van OBD-II. Het koele deel is dat u niet hoeft te weten over deze allermeest naar de tijd als moderne lezers van de OBD-II en adapters zal postuur zulks uiterlijk voor u.
  • Er is ook daar CANbusdata (meestal bereikbaar via de OBD-II-poort, en vaak via andere fysieke interfaces). De ongelukkige deel is veel van de specificaties voor die zijn merkgebonden (of opzettelijk zonder papieren). Voor meer informatie over dat ga hier:
  • Niet alle auto's zal alle van de "standaard" OBD-II PIDs steunen. Zij zullen de meeste steunen. Bijvoorbeeld mijn auto olietemperatuur niet doorgegeven tenzij u het een BLIKJE stuurt volgorde. Een is een koptekst en een is de query (of in CANBUS taalgebruik het is meer als een abonnement in sommige opzichten).

Fysieke aansluiting is vrij eenvoudig. De OBD-II-apparaat aansluit op de OBD-II-poort van uw auto, die meestal ergens onder het dashboard aan de bestuurderszijde ligt.

Wat ik heb gedaan voor dit deel is het gebruik van de python-OBD-bibliotheek te grijpen sommige standaardgegevens van de OBD-II en voor gemakkelijk IoT stijl consumptie als JSON worden blootgesteld. De opslagplaats voor dit hier: https://github.com/brendanwhitfield/python-OBD . U kunt het echter installeren via pip met a:
pip install obd . Bredan van documentatie is eigenlijk best goed. Er zijn verschillende vorken van dit zo goed, die enkele interessante dingen doen. Met name deze: https://github.com/Pbartek/pyobd-pi is interessant omdat het zich richt op het met de raspberry pi wordt gebruikt.

Je moet om de OBD-II-gegevens naar uw Edison een fysische interface. Een usb interface zal werken, maar voor het gemak gebruik ik een bluetooth een. Als u een USB-interface zul je minder te doen en de verklaring in mijn code hebt gekozen: connection = obd.OBD('/dev/rfcomm0') moet waarschijnlijk lezen connection = obd.OBD() of het gedeelte tussen de haakjes moet verwijzen naar de linux serial device dat uw usb-apparaat.

Voor degenen met behulp van een bluetooth-apparaat is dit wat ik moest doen. Het is wellicht om te proberen een paar andere dingen te krijgen om te functioneren. Bluetooth installatie lijkt te zijn een ding van de finiky in linux nog steeds en ik ben niet zeker waarom.

  • Begin bluetooth https://software.intel.com/en-us/articles/intel-e... volledige bluetooth documentatie is hier beschikbaar: https://software.intel.com/en-us/articles/intel-e...
  • Toevoegen van een agent - de docs niet zeggen wat dit betekent - in feite zijn er vooraf ingestelde namen, maar ik kon niet achterhalen wat ze bedoeld. Ik geplakt met degene die ze in de documentatie gebruikt en het lijkt te werken.
  • Paar (gebruik bluez controle util te stellen zoals in de hierboven genoemde documentatie.
  • Voer rfcomm bind rfcomm0 dit dat bluetooth-verbinding wordt gebonden aan de linux apparaat/dev/rfcomm0. Als je in mijn codegedeelte dat dit wat ik noem kijkt is bij het opzetten van de OBD-II-verbinding.
  • Als u wilt uitvoeren van een script dat dit bij het opstarten doet volgt u de aanwijzingen hier: https://communities.intel.com/message/292186#2921... Hoewel ik op-en-off succes met dit heb gehad. De bluetooth koppeling moet voortbestaan te opnieuw opstarten.

De OBD-II-gegevens is dan bereikbaar via verschillende contexten van het web in het hoofdprogramma van kolf die hen als de JSON-gegevens die vervolgens kunnen worden gebruikt door IoT-diensten zoals vrijboord zal blootstellen.

 #OBD II data using pyobdimport obd from obd import OBDCommand from obd.utils import unhex #call this from the main program...because we only want to do it once def setupOBD(): connection = obd.OBD('/dev/rfcomm0') counter = 0 #while not(connection.is_connected() or counter < 20): # connection = obd.OBD('/dev/rfcomm0') # counter = counter + 1 #return (connection) 
 def rpm(connection): response = connection.query(obd.commands.RPM) return response.value 
 def engine_load(connection): response = connection.query(obd.commands.ENGINE_LOAD) return response.value 
 def coolant_temp(connection): response = connection.query(obd.commands.COOLANT_TEMP) return response.value 
 def intake_pressure(connection): response = connection.query(obd.commands.INTAKE_PRESSURE) return response.value 
 def speed(connection): response = connection.query(obd.commands.SPEED) return response.value 
 def timing_advance(connection): response = connection.query(obd.commands.TIMING_ADVANCE) return response.value 
 def intake_temp(connection): response = connection.query(obd.commands.INTAKE_TEMP) return response.value 
 def throttle_pos(connection): response = connection.query(obd.commands.THROTTLE_POS) return response.value 
 def voltage(connection): response = connection.query(obd.commands[1][42]) readyresponse = unhex(response) return readyresponse #needs to be tested with a real car...not sure if this will work 

Gerelateerde Artikelen

GPS auto tracker met Intel Edison

GPS auto tracker met Intel Edison

Naar het volgende project met behulp van de Intel Edison vervoer en veiligheid Kit ik heb gemaakt een zeer fundamentele toepassing voor het bijhouden van een auto met behulp van de GPS Grove. Dit project kostte me een beetje meer werk vanwege de comp
IoT RC auto met Intel Edison (IntelIoT)

IoT RC auto met Intel Edison (IntelIoT)

VoorwoordLaten we eerst begrijpen wat we willen bereiken hier. We hebben allerlei soorten RC speelgoed voor onze kinderen en dan zijn er video en mobiele games. Één dit is zeker dat iedereen houdt van auto's, zij het de werkelijke of worden zij in de
Aan de slag met Intel Edison - Python Programming

Aan de slag met Intel Edison - Python Programming

Deze gids is voor alles wat je python programmeurs die altijd heb afgevraagd,Wat is de beste manier om te gaan "IoT"(Internet of Things) nu sinds je hebt gemaakt naar deze pagina, koop zelf een Intel Edison van Amazon of een on line opslaan zoal
Geautomatiseerde drenken van potplanten met Intel Edison

Geautomatiseerde drenken van potplanten met Intel Edison

Geautomatiseerde drenken van potplanten met Intel Edison... Een vocht Sensor detecteert het lage vochtgehalte van de bodem en activeert de waterpomp of de solenoïde ventiel dat de stroom van water. Wanneer de vereiste water wordt gepompt naar de plan
Milieu Monitoring Rover - aangedreven door Intel Edison

Milieu Monitoring Rover - aangedreven door Intel Edison

Dit is een instructable geïnspireerd door de Mars nieuwsgierigheid Rover , ik verwacht niet dat deze rover om Mars te maken!! maar u het nabootsen en implementeren van sommige koele eigenschappen met behulp van de Intel Edison. Hebben gezegdd dat, op
Cloud air analytics van de verontreiniging met Intel Edison en IBM Bluemix

Cloud air analytics van de verontreiniging met Intel Edison en IBM Bluemix

Air invloed op onze levenskwaliteit. Luchtverontreiniging leidt tot ziekten, allergenen veroorzaken mensen misselijk, verstopte binnenlucht kan leiden tot verloren productiviteit. Mensen in de grootste noodzaak mensen met astma, COPD, allergie voor s
Aan de slag met Intel® Edison Mini Breakout Board

Aan de slag met Intel® Edison Mini Breakout Board

Intel biedt 2 verschillende hardwareplatformen om te werken met Intel® Edison ontwikkel bord.De kern-module van Intel® Edison heet Intel® Edison Compute Module, terwijl de 2 extensie planken zijn Intel® Edison Arduino Board en Intel® Edison Breakout
Beginnen met Intel Edison

Beginnen met Intel Edison

Eerst moet u de Intel Edison firmware.Ga naar de verstand website en download het.Vervolgens opent u de gekoppelde schijf en verwijder alles binnen. Unzip de inhoud van de download in het station dan toegang tot de Edison met scherm (zie volgende sta
Basketbal Robot met Intel Edison

Basketbal Robot met Intel Edison

Hij schiet! Hij scoort! De menigte gaat wild! Laten we het bouwen van een robot die basketbal met u speelt. Deze tutorial is een stapsgewijze handleiding voor een eenvoudige en kleine differentieel-station robot die gebruikmaakt van de Intel® Edison.
Telegram met Intel Edison en Python

Telegram met Intel Edison en Python

Deze instructables ziet u hoe de Yocto package manager configureren en gebruiken van een Telegram bot Python bibliotheek. Hoewel Intel Edison het targetbord is, is het mogelijk aan te passen de volgende stappen uit om een vergelijkbare hardware.Stap
Kinderdagverblijf toezicht en een Tracking systeem met Intel Edison Development Kit

Kinderdagverblijf toezicht en een Tracking systeem met Intel Edison Development Kit

We hebben een kinderdagverblijf toezicht en een tracking systeem gebruik van Intel Edison bord samen met Bluetooth Low Energy (BLE) apparaten en een USB-camera gebouwd. Het is een demonstratie van hoe gemakkelijk het Intel Edison DevKit kan worden ge
Intel IoT EDI - toezicht op een comfortabele en veilige omgeving (met Intel Edison)

Intel IoT EDI - toezicht op een comfortabele en veilige omgeving (met Intel Edison)

Voordat ik wil om te beginnen, Intel en Instructables bedanken voor deze kans: Ik heb geselecteerd onder andere winnaar van een wonderbare Intel IoT Edison & Grove Kit... Dat was erg verrassend aan me, en ik ben zeer dankbaar voor het. Bedankt! :-)In
Geautomatiseerde studie milieu met Intel Edison

Geautomatiseerde studie milieu met Intel Edison

Ik ga u tonen hoe te maken van een geautomatiseerde studie-omgeving met de Intel Edison in dit project!De Intel Edison maakt gebruik van verschillende sensor om het milieu in de studiezaal te volgen. De Edison zal het optimaliseren van het milieu in
Verspreiden van informatie met Intel Edison

Verspreiden van informatie met Intel Edison

Project ontwikkeld door João L. Martins, Alex Lucchesi, Laís Minchillo en Fernando Pereira in de Intel IoT Roadshow 2015 in São Paulo, Brazilië!Dus stel je wat als wij zouden willen informatie uitwisselen over wat er gaande is in elke bezienswaardigh