{"_id":"serial-obd","_rev":"27-7262d533f2134dacc0d0117057d936c6","name":"serial-obd","description":"Package for communicating with a serial/usb OBD-II reader.","dist-tags":{"latest":"0.2.2"},"versions":{"0.0.1":{"name":"serial-obd","version":"0.0.1","description":"Utility to read OBD2 data from a bluetooth elm","author":{"name":"Eric Smekens","email":"ericsmekens@msn.com","url":"http://tno.nl"},"repository":{"type":"git","url":"git://github.com:EricSmekens/node-serial-obd.git"},"directories":{"lib":"./lib"},"main":"./lib/obd.js","dependencies":{"serialport":"1.1.0"},"devDependencies":{},"engines":{"node":">= 0.8.x","npm":">= 1.1.x"},"scripts":{"install":""},"keywords":["OBD","car","serial","rfcomm"],"license":"FreeBSD","_id":"serial-obd@0.0.1","dist":{"shasum":"a996cfc4dcf23039f62a9a6e15792da7b8579420","tarball":"https://registry.npmjs.org/serial-obd/-/serial-obd-0.0.1.tgz","integrity":"sha512-BMReZVVRBjbK+t/309s6jxFZWVlYibQkh/VWipy3zZagGen7NBMxIGN8w7/WWHeWRvwcaVya9c+IdbIIe2zdbg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQC++VoDIt8eQy+9r4hiZ6R7l5zleQHgltN8QCnXo6wUNgIgO83PGL/go9T2DfmsBiIxR9payPqAbdFMvSQxRue0wQs="}]},"_from":".","_npmVersion":"1.2.2","_npmUser":{"name":"smekkie","email":"ericsmekens@msn.com"},"maintainers":[{"name":"smekkie","email":"ericsmekens@msn.com"}],"deprecated":"Development stopped, bluetooth users --> use bluetooth-obd"},"0.0.2":{"name":"serial-obd","version":"0.0.2","description":"Package for communicating with a bluetooth OBD-II reader","author":{"name":"Eric Smekens","email":"ericsmekens@msn.com","url":"http://github.com/EricSmekens"},"repository":{"type":"git","url":"git://github.com:EricSmekens/node-serial-obd.git"},"directories":{"lib":"./lib"},"main":"./lib/obd.js","dependencies":{"serialport":"1.1.0"},"devDependencies":{},"engines":{"node":">= 0.8.x","npm":">= 1.1.x"},"scripts":{"install":""},"keywords":["OBD","car","serial","rfcomm"],"license":"FreeBSD","_id":"serial-obd@0.0.2","dist":{"shasum":"ed5193d933b3e35cd13a3eda994a0960c667780e","tarball":"https://registry.npmjs.org/serial-obd/-/serial-obd-0.0.2.tgz","integrity":"sha512-8lbNd85e+LhsNxmn7fvzNJYC/kytHRYqqjqSF5MU6fwxYphW1j9o7DeuKqbbRYeo9AUq39S9YNk2ibUW70UCpA==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCICTd8gjGnYGsCx5SCHzw6uAjNrKWNbOdg/X+ysBG4j2QAiBf17v3o/LjjmdanTYq27pUWiBWRcROUDrOb6P8ie5t0A=="}]},"_from":".","_npmVersion":"1.2.2","_npmUser":{"name":"smekkie","email":"ericsmekens@msn.com"},"maintainers":[{"name":"smekkie","email":"ericsmekens@msn.com"}],"deprecated":"Development stopped, bluetooth users --> use bluetooth-obd"},"0.0.3":{"name":"serial-obd","version":"0.0.3","description":"Package for communicating with a bluetooth OBD-II reader. Development STOPPED.","author":{"name":"Eric Smekens","email":"ericsmekens@msn.com","url":"http://github.com/EricSmekens"},"repository":{"type":"git","url":"git://github.com:EricSmekens/node-serial-obd.git"},"directories":{"lib":"./lib"},"main":"./lib/obd.js","dependencies":{"serialport":"1.1.0"},"devDependencies":{},"engines":{"node":">= 0.8.x","npm":">= 1.1.x"},"scripts":{"install":""},"keywords":["OBD","car","serial","rfcomm"],"license":"FreeBSD","_id":"serial-obd@0.0.3","dist":{"shasum":"aa47d23ca53bec45418cd19cdcb11e8bc50257b4","tarball":"https://registry.npmjs.org/serial-obd/-/serial-obd-0.0.3.tgz","integrity":"sha512-uVhr2o93q+TSdFq0QgxbiFleWmioOjud49ZQvHHyh/CXAmOHBAhn3sN+Av28ZOOp9rxUH218zgxGCzLPeM6OUw==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCC7QGa68zqsu16jK8voOPNpM6s9j2AN+QmVKp9DxORpAIgEizuVVknn8G+++NvGiD8VXmDUa4OfVHd3O8GrLnNJq4="}]},"_from":".","_npmVersion":"1.2.2","_npmUser":{"name":"smekkie","email":"ericsmekens@msn.com"},"maintainers":[{"name":"smekkie","email":"ericsmekens@msn.com"}],"deprecated":"Development stopped, bluetooth users --> use bluetooth-obd"},"0.1.0":{"name":"serial-obd","version":"0.1.0","description":"Package for communicating with a serial/usb OBD-II reader.","author":{"name":"Eric Smekens","email":"ericsmekens@msn.com","url":"http://github.com/EricSmekens"},"repository":{"type":"git","url":"git://github.com:EricSmekens/node-serial-obd.git"},"directories":{"lib":"./lib"},"main":"./lib/obd.js","dependencies":{"serialport":"1.1.0"},"devDependencies":{},"engines":{"node":">= 0.8.x","npm":">= 1.1.x"},"scripts":{"install":""},"keywords":["OBD","car","serial","ecu"],"license":"Apache-2.0","_id":"serial-obd@0.1.0","dist":{"shasum":"43c30b1897ce80df5454394d4128f5984601eef7","tarball":"https://registry.npmjs.org/serial-obd/-/serial-obd-0.1.0.tgz","integrity":"sha512-PjJER/GpqWeusB1h99ItuR38s0OiS3hCmnWqLeP58U9wbH/la4QTSzoDFjnJRrRTo3xEBeCrjEYvlHeaNTd3BQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDDHZCNDzfCXOyeRGc6Xz/6iZQtZ0mXoXlSEIdjSVD/YgIgIUtjhrUEioseA0h2ud82Ixj3u3U0xv4JSaIj6uQL7Fk="}]},"_from":".","_npmVersion":"1.2.2","_npmUser":{"name":"smekkie","email":"ericsmekens@msn.com"},"maintainers":[{"name":"smekkie","email":"ericsmekens@msn.com"}]},"0.1.1":{"name":"serial-obd","version":"0.1.1","description":"Package for communicating with a serial/usb OBD-II reader.","author":{"name":"Eric Smekens","email":"ericsmekens@msn.com","url":"http://github.com/EricSmekens"},"repository":{"type":"git","url":"git://github.com:EricSmekens/node-serial-obd.git"},"directories":{"lib":"./lib"},"main":"./lib/obd.js","dependencies":{"serialport":"1.1.x"},"devDependencies":{},"engines":{"node":">= 0.8.x","npm":">= 1.1.x"},"scripts":{"install":""},"keywords":["OBD","car","serial","ecu"],"license":"Apache-2.0","_npmUser":{"name":"smekkie","email":"ericsmekens@msn.com"},"_id":"serial-obd@0.1.1","optionalDependencies":{},"_engineSupported":false,"_npmVersion":"1.1.4","_nodeVersion":"v0.6.12","_defaultsLoaded":true,"dist":{"shasum":"23006f35b835e449f128dc4b9f1d07b828c4f060","tarball":"https://registry.npmjs.org/serial-obd/-/serial-obd-0.1.1.tgz","integrity":"sha512-0/8Db1uM0rHZO7woYBDSPdN3B7s8HUaqRNYgbz0YCKPLCBpzkoFKmfTUH7gwMp3txGDYFeozD1YoVFspaRCinQ==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIE4icjNOcjFvjBs6X02v1QK/z3BU2Vx1y43uuyjYerc9AiAZUi72mOJeqCz2lV9VDFVy4I6WADEm3acAW7GxrWExkQ=="}]},"maintainers":[{"name":"smekkie","email":"ericsmekens@msn.com"}]},"0.2.0":{"name":"serial-obd","version":"0.2.0","description":"Package for communicating with a serial/usb OBD-II reader.","author":{"name":"Eric Smekens","email":"ericsmekens@msn.com","url":"http://github.com/EricSmekens"},"repository":{"type":"git","url":"git://github.com:EricSmekens/node-serial-obd.git"},"directories":{"lib":"./lib"},"main":"./lib/obd.js","dependencies":{"serialport":"1.6.x"},"devDependencies":{},"engines":{"node":">= 0.10.x","npm":">= 1.1.x"},"scripts":{"install":""},"keywords":["OBD","car","serial","ecu"],"license":"Apache-2.0","gitHead":"8d26c12b9e42bd063dab92cfd1774097083f7c1e","bugs":{"url":"https://github.com/EricSmekens/node-serial-obd/issues"},"homepage":"https://github.com/EricSmekens/node-serial-obd","_id":"serial-obd@0.2.0","_shasum":"85840561efde7bd5842f0ea4950e22ec5d3df417","_from":".","_npmVersion":"2.5.1","_nodeVersion":"0.12.0","_npmUser":{"name":"smekkie","email":"ericsmekens@msn.com"},"maintainers":[{"name":"smekkie","email":"ericsmekens@msn.com"}],"dist":{"shasum":"85840561efde7bd5842f0ea4950e22ec5d3df417","tarball":"https://registry.npmjs.org/serial-obd/-/serial-obd-0.2.0.tgz","integrity":"sha512-PbqYZKQHisdGkTewHyok143qHyh27Zjfz2XQWBpe9yyW+ZNBQ8gb3ABrUdLhSpzcTF9sDTDOwUSxlDNYkZNFYg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDrZ7Edj9lCDEqrVvog/wxJH6Z1mUB6pxz6AnE1z1O5UwIgcPLGgqSD5bY4OOo/VBnzVLnLMC/gJDOhp+6p2yDxxhM="}]}},"0.2.1":{"name":"serial-obd","version":"0.2.1","description":"Package for communicating with a serial/usb OBD-II reader.","author":{"name":"Eric Smekens","email":"ericsmekens@msn.com","url":"http://github.com/EricSmekens"},"repository":{"type":"git","url":"git://github.com/%3AEricSmekens/node-serial-obd.git"},"directories":{"lib":"./lib"},"main":"./lib/obd.js","dependencies":{"serialport":">= 1.7.4"},"devDependencies":{},"engines":{"node":">= 0.10.x","npm":">= 1.1.x"},"scripts":{"install":""},"keywords":["OBD","car","serial","ecu"],"license":"Apache-2.0","gitHead":"b2d69c3b85e99c4475bea6aa5dc3aca59254f29b","bugs":{"url":"https://github.com/%3AEricSmekens/node-serial-obd/issues"},"homepage":"https://github.com/%3AEricSmekens/node-serial-obd#readme","_id":"serial-obd@0.2.1","_shasum":"db05b9960f79b18105dfdc6f8daf9013ac4587e5","_from":".","_npmVersion":"2.11.3","_nodeVersion":"0.12.7","_npmUser":{"name":"smekkie","email":"ericsmekens@msn.com"},"dist":{"shasum":"db05b9960f79b18105dfdc6f8daf9013ac4587e5","tarball":"https://registry.npmjs.org/serial-obd/-/serial-obd-0.2.1.tgz","integrity":"sha512-yO1XnzwljU2tgzzHfIcueGQp8xdl74XKhf3bcprjYD9V7eQ+SIoK7N1dMQ/FsuH5cmnnmzpCVx8m8hu5i7ZpZg==","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIGgD1vIKfhdV4tIhHDKx98MYDVMoxDBaQyXHInTvk1LlAiAS8o4MVzeElhflxahLwXYwiGNwvEteou7uggaSepd/HQ=="}]},"maintainers":[{"name":"smekkie","email":"ericsmekens@msn.com"}]},"0.2.2":{"name":"serial-obd","version":"0.2.2","description":"Package for communicating with a serial/usb OBD-II reader.","author":{"name":"Eric Smekens","email":"ericsmekens@msn.com","url":"http://github.com/EricSmekens"},"repository":{"type":"git","url":"git://github.com/EricSmekens/node-serial-obd.git"},"directories":{"lib":"./lib"},"main":"./lib/obd.js","dependencies":{"serialport":"^6.0.0"},"devDependencies":{},"engines":{"node":">= 0.10.x","npm":">= 1.1.x"},"scripts":{"install":""},"keywords":["OBD","car","serial","ecu"],"license":"Apache-2.0","gitHead":"32cbc99ec32bde38c2bec18ec75ed3bad5f86971","bugs":{"url":"https://github.com/EricSmekens/node-serial-obd/issues"},"homepage":"https://github.com/EricSmekens/node-serial-obd#readme","_id":"serial-obd@0.2.2","_npmVersion":"6.0.0","_nodeVersion":"10.0.0","_npmUser":{"name":"smekkie","email":"ericsmekens@msn.com"},"dist":{"integrity":"sha512-koQlvVBDtC8o3mzsrbZ4SmPegzy+tGoNAlR/0+sGvYnHyX3iFPVf0uwuO8gOWRUQCyEsyoK3yIpaNxKCD6mUew==","shasum":"5ea8a80b979cace296517f5d7bddf7fd1717bd1f","tarball":"https://registry.npmjs.org/serial-obd/-/serial-obd-0.2.2.tgz","fileCount":7,"unpackedSize":50902,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJbApvhCRA9TVsSAnZWagAA7ZMP/RCSMPLpZuadTBLkarnl\n6+S8FtK/8VYDPWJMUL8scTylYkwME/RnFTex1sw2Ew/VOS/bw7iAiwFtku68\ncx4jWA0SATMWFjzJzmKM1dLLH2JRHM0RIMKSRLzd1p97vw8iZGdp/LPzBJlH\nKQj0Go/PFv6drg9UsCGerKyc6dcY/dFyq/15jEp82ktO7LKBX/jhss5/MDvz\nE6HYw8pDf+lj4vZORw7JQpA86v8PzgPH6l4caZva3JxF5kXVXP0upqHKE8Tj\nq3CUgs5eXetAxmMEHq4Gk6qDMDaZ8uYDzPH9+J5xof+bcCu1W5DkgmvWMSnv\neY5Xfr31E9AxrQ54/M3qrXg2ym/4npxOxePHGOkEz/IsMjz8rR6Rzk/Qtgpf\nP3QBHzVZwsO/pdOg2uXpAjrfSdRaNAg3qZqQDrJ26cBepfiN4ptbhU/dMDCp\n/xinQzgqGQ5iYFX/770/C22nNKDYp8jldMiSiOgPw1eplLel9d6rGC9gEuVk\nEhm8AH2WYMg0LHtatmnp7lnGmiWW2crqIxDSv1JEs+hV/JQHqeFLcdA7Uc33\n8YPnVjV3tjPxnLHJoKALxjlkFCleP9SMPT6QIc4iTGEnWih/F1s4mvtpgdN4\np/mVc5A1VmRyTf+84J6Fg5QT3hT7nLw/i0eQTy/3mor+iWZ3VElG52O4X6aj\nQaDE\r\n=LrTY\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIA/ea3mR/q1/yo+BeOnWqIPn1pnpVhcE/hchfeBV+J5SAiEAq7OUfNYsywL+2nzfoYZWcEjzqZNq8dTYLlBecj+2qy8="}]},"maintainers":[{"name":"smekkie","email":"ericsmekens@msn.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/serial-obd_0.2.2_1526897632717_0.21893439321812247"},"_hasShrinkwrap":false}},"readme":"serial-obd 0.2.2\r\n===============\r\n\r\nThis version will only receive updates that were done in bluetooth-obd. On request I will update/sync this module with bluetooth-obd as this version is less-used.\r\n\r\n# Serial communication for OBD-II ELM327 devices.\r\nThis node module lets you communicate over a serial port with OBD-II ELM327 Connectors using Node.js.\r\n\r\n# Limitations\r\n* Only tested on Ubuntu\r\n* Only tested with rfcomm, and not with actual serial port yet.\r\n* Only tested on ELM327 devices.\r\n* Not all OBD-II Commands are implemented yet.\r\n\r\n## Use bluetooth-obd if you use a bluetooth OBD-II Connector!\r\n\r\n# Pre-requests\r\n* If it's a Bluetooth ELM327, then it should already be paired and connected with rfcomm connect!\r\n* You might need to run it with SUDO! (If it says: serial port X is not ready!)\r\n\r\n# Install\r\n`npm install serial-obd`\r\n# Documentation\r\n\r\n## Basic usage\r\n\r\n```javascript\r\nvar OBDReader = require('serial-obd');\r\nvar options = {};\r\noptions.baudRate = 115200;\r\nvar serialOBDReader = new OBDReader(\"/dev/rfcomm0\", options);\r\nvar dataReceivedMarker = {};\r\n\r\nserialOBDReader.on('dataReceived', function (data) {\r\n    console.log(data);\r\n    dataReceivedMarker = data;\r\n});\r\n\r\nserialOBDReader.on('connected', function (data) {\r\n    this.addPoller(\"vss\");\r\n    this.addPoller(\"rpm\");\r\n    this.addPoller(\"temp\");\r\n    this.addPoller(\"load_pct\");\r\n    this.addPoller(\"map\");\r\n    this.addPoller(\"frp\");\r\n\r\n    this.startPolling(2000); //Polls all added pollers each 2000 ms.\r\n});\r\n\r\nserialOBDReader.connect();\r\n```\r\n## API\r\n\r\n###OBDReader\r\n\r\n#### Event: ('dataReceived', data)\r\n\r\nEmitted when data is read from the OBD-II connector.\r\n\r\n* data - the data that was read and parsed to a reply object\r\n\r\n#### Event: ('connected')\r\n\r\nEmitted when the connection is set up (port is open).\r\n\r\n* data - the data that was read and parsed to a reply object\r\n\r\n#### OBDReader(portName, options)\r\n\r\nCreates an instance of OBDReader.\r\n\r\n##### Params:\r\n\r\n* **string** *portName* Port that will be connected to. For example: &quot;/dev/rfcomm0&quot;\r\n\r\n* **Object** *options* Object that contains options, e.g.: baudrate, databits, stopbits, flowcontrol. Same options serialport module uses.\r\n\r\n#### getPIDByName(Name)\r\n\r\nFind a PID-value by name.\r\n\r\n##### Params: \r\n\r\n* **name** *Name* of the PID you want the hexadecimal (in ASCII text) value of.\r\n\r\n##### Return:\r\n\r\n* **string** PID in hexadecimal ASCII\r\n\r\n#### parseOBDCommand(hexString)\r\n\r\nParses a hexadecimal string to a reply object. Uses PIDS. (obdInfo.js)\r\n\r\n##### Params: \r\n\r\n* **string** *hexString* Hexadecimal value in string that is received over the serialport.\r\n\r\n##### Return:\r\n\r\n* **Object** reply - The reply.\r\n\r\n* **string** reply.value - The value that is already converted. This can be a PID converted answer or &quot;OK&quot; or &quot;NO DATA&quot;.\r\n\r\n* **string** reply.name - The name. --! Only if the reply is a PID.\r\n\r\n* **string** reply.mode - The mode of the PID. --! Only if the reply is a PID.\r\n\r\n* **string** reply.pid - The PID. --! Only if the reply is a PID.\r\n\r\n#### connect()\r\n\r\nConnect/Open the serial port and add events to serialport. Also starts the intervalWriter that is used to write the queue.\r\n\r\n#### disconnect()\r\n\r\nDisconnects/closes the port.\r\n\r\n#### write(message, replies)\r\n\r\nWrites a message to the port. (Queued!) All write functions call this function.\r\n\r\n##### Params:\r\n\r\n* **string** *message* The PID or AT Command you want to send. Without \\r or \\n!\r\n* **number** *replies* The number of replies that are expected. Default = 0. 0 --> infinite\r\n\r\n#### requestValueByName(name)\r\n\r\nWrites a PID value by entering a pid supported name.\r\n\r\n##### Params:\r\n\r\n* **string** *name* Look into obdInfo.js for all PIDS.\r\n\r\n#### addPoller(name)\r\n\r\nAdds a poller to the poller-array.\r\n\r\n##### Params:\r\n\r\n* **string** *name* Name of the poller you want to add.\r\n\r\n#### removePoller(name)\r\n\r\nRemoves an poller.\r\n\r\n##### Params:\r\n\r\n* **string** *name* Name of the poller you want to remove.\r\n\r\n#### removeAllPollers()\r\n\r\nRemoves all pollers.\r\n\r\n#### writePollers()\r\n\r\nWrites all active pollers.\r\n\r\n#### startPolling()\r\n\r\nStarts polling. Lower interval than activePollers * 50 will probably give buffer overflows.\r\n\r\n##### Params:\r\n\r\n* **number** *interval* Frequency how often all variables should be polled. (in ms) If no value is given, then for each activePoller 75ms will be added.\r\n\r\n#### stopPolling()\r\n\r\nStops polling.\r\n\r\n# LICENSE\r\n\r\nThis module is available under a [Apache 2.0 license](http://www.apache.org/licenses/LICENSE-2.0.html), see also the [LICENSE file](https://raw.github.com/EricSmekens/node-serial-obd/master/LICENSE) for details.\r\n","maintainers":[{"name":"smekkie","email":"ericsmekens@msn.com"}],"time":{"modified":"2022-06-26T17:54:32.986Z","created":"2013-04-03T14:53:31.399Z","0.0.1":"2013-04-03T14:53:33.155Z","0.0.2":"2013-04-09T14:46:45.145Z","0.0.3":"2013-04-11T08:45:10.981Z","0.1.0":"2013-05-16T09:38:26.470Z","0.1.1":"2013-07-19T16:47:01.947Z","0.2.0":"2015-03-08T16:26:43.396Z","0.2.1":"2015-08-10T17:08:16.947Z","0.2.2":"2018-05-21T10:13:52.818Z"},"author":{"name":"Eric Smekens","email":"ericsmekens@msn.com","url":"http://github.com/EricSmekens"},"repository":{"type":"git","url":"git://github.com/EricSmekens/node-serial-obd.git"},"homepage":"https://github.com/EricSmekens/node-serial-obd#readme","keywords":["OBD","car","serial","ecu"],"bugs":{"url":"https://github.com/EricSmekens/node-serial-obd/issues"},"license":"Apache-2.0","readmeFilename":"README.md"}