Introduction: Smart Scooter: Handheld

About: Hi, my name is John. My hobby is to solve problems from other people and creating nice and functional stuff out of trash. I'm living in Germany so excuse my not so fluent English (some technical terms are hard…

Long time ago I've build a smart charger for my scooter HP_Baxxter. Now I had time to also build a handheld for it.

Right now only the powerconsumption is shown with the device. I hope that in the future I'm also able to add the finedust and temperature of annother sensor.

Step 1: Build the Hardware

For the Hardware I've used a ESP8266 together with an display. To power the device a Li-ion 18650 cell is used. To secure the battery against over and undervoltage batterycharger module is used.

I like the industrial look of open wired and stuff it is ment to be so ;-)

Step 2: Create the Software

To test the SW I've first used my linux shell to play arround with the system.

curl -v -G 'http://:8086/query?db=HP_Baxxter' --data-urlencode "epoch=h" --data-urlencode "q=SELECT count(\"value\") FROM \"powertick\" WHERE time > now() - 48h GROUP BY time(24m) fill(0)"

The answer was something like this:

* Trying ...
* Connected to
() port 8086 (#0) > GET /query?db=HP_Baxxter&epoch=h&q=SELECT%20count%28%22value%22%29%20FROM%20%22powertick%22%20WHERE%20time%20%3E%20now%28%29%20-%2048h%20GROUP%20BY%20time%2824m%29%20fill%280%29 HTTP/1.1 > Host: :8086 > User-Agent: curl/7.47.0 > Accept: */* > < HTTP/1.1 200 OK < Connection: close < Content-Type: application/json < Request-Id: 23f62004-6f9b-11e7-9ccd-000000000000 < X-Influxdb-Version: 1.2.4 < Date: Sun, 23 Jul 2017 11:36:17 GMT < Transfer-Encoding: chunked < {"results":[{"statement_id":0,"series":[{"name":"powertick","columns":["time","count"],"values":[[416843,0],[416844,0],[416844,0],[416844,0],[416845,0],[416845,0],[416846,0],[416846,254],[416846,365],[416847,357],[416847,257],[416848,121],[416848,62],[416848,58],[416849,47],[416849,44],[416850,41],[416850,25],[416850,4],[416851,0],[416851,0],[416852,0],[416852,0],[416852,0],[416853,0],[416853,0],[416854,0],[416854,0],[416854,0],[416855,0],[416855,0],[416856,0],[416856,0],[416856,0],[416857,0],[416857,0],[416858,0],[416858,0],[416858,0],[416859,0],[416859,0],[416860,0],[416860,0],[416860,0],[416861,0],[416861,0],[416862,0],[416862,0],[416862,0],[416863,0],[416863,0],[416864,0],[416864,0],[416864,0],[416865,0],[416865,0],[416866,0],[416866,0],[416866,0],[416867,0],[416867,0],[416868,0],[416868,0],[416868,0],[416869,0],[416869,0],[416870,0],[416870,0],[416870,0],[416871,0],[416871,0],[416872,0],[416872,0],[416872,0],[416873,0],[416873,0],[416874,0],[416874,0],[416874,0],[416875,0],[416875,0],[416876,0],[416876,0],[416876,0],[416877,0],[416877,0],[416878,0],[416878,0],[416878,0],[416879,0],[416879,0],[416880,0],[416880,0],[416880,0],[416881,0],[416881,0],[416882,0],[416882,0],[416882,0],[416883,0],[416883,0],[416884,0],[416884,0],[416884,0],[416885,0],[416885,0],[416886,0],[416886,0],[416886,0],[416887,0],[416887,0],[416888,0],[416888,0],[416888,0],[416889,0],[416889,0],[416890,0],[416890,0],[416890,0],[416891,0],[416891,0]]}]}]} * Closing connection 0

With all this information I've created a arduino script which can be downloaded here:

https://github.com/odon4t4/smartCharger/blob/maste...

The Flashbutton is used for the different timeframes.

Pocket-Sized Contest

Participated in the
Pocket-Sized Contest