Segway Ninebot PJ22IOT

Segway Ninebot PJ22IOT is an IoT device for shared scooter management. The device allows to lock/unlock, power on /off, turn on/off the throttle, and switch between different riding modes, etc. You can also monitor the state of the scooter through its communications with the server, such as sending alarms, firmware version information, battery temperatures, etc. It also has auxiliary features like prompt voice, superior waterproof design (IP67), and a built-in 1000 mAh battery.

Usage specifics
Parameters (60)
Settings (9)
Commands (1)
Segway Ninebot PJ22IOT
Flespi parses telemetry data from your Segway Ninebot PJ22IOT into a standardized JSON and lets you send commands to Segway Ninebot PJ22IOT via API.

Here’s the like of JSON you get

{
    "ident": "352625333222111",
    "position.altitude": 273.61,
    "position.hdop": 0.7,
    "position.latitude": 49.069782,
    "position.longitude": 28.632826,
    "position.satellites": 18,
    "server.timestamp": 1650636570.426424,
    "timestamp": 1650636570.426424,
    "device.type.id": "Segway Ninebot PJ22IOT",
    "channel.id": 1111,
    "protocol.id": "segway-ninebot"
    "engine.ignition.status": true
    ...
}

How to consume this nice JSON

The easiest way is to make a REST API request like this
curl -X GET  --header 'Authorization: FlespiToken XXX' 'https://flespi.io/gw/devices/<device id>/messages'

How to send commands to Segway Ninebot PJ22IOT?

You can send a specific command. Show all commands
You can use pre-defined settings to send instructions more conveniently. Show all settings

You can also

Modify messages

Add or remove parameters, inject data from LBS and reverse-geocoding services, etc.
Learn what plugins can do

Aggregate data

Determine trips and stops, catch events, detect geofence ins/outs, and more.
Learn about flespi analytics capabilities
backup.battery.voltage.status
boolean
Backup battery voltage if normal (true - inside the predefined range) or abnormal (false - outside of the predefined range)
battery.charging.cycles
number
Number of charges/discharges of the battery
battery.charging.status
boolean
Battery charging status
battery.connected.status
boolean
Internal battery is connected
battery.level
number
percentage
Internal battery level
battery.lock.status
boolean
Battery lock locked/unlocked status
battery.temperature
number
celsius
Battery temperature
battery.voltage
number
volts
Internal battery voltage
bluetooth.mac.address
string
Bluetooth MAC address
bms.serial.number
string
BMS (Battery Management System) serial number
cable.lock.status
boolean
Peripherial device cable lock status
channel.id
number
ID of channel that received a message
controller.voltage
number
volts
Driving voltage of the controller
device.id
number
ID of device that received a message
device.name
string
Name of device that received a message
device.serial.number
string
Device serial number
device.type.id
number
ID of device type of device that received a message
disassemble.alarm
boolean
Disassemble alarm event
display.hardware.version
string
Display hardware version
ecu.error.code
string
ECU error code
event.enum
number
Protocol-specific event code
external.battery.hardware.version
string
External battery hardware version
external.battery.temperature
number
celsius
Indexed temperature of external battery
fall.alarm.status
boolean
Fall alarm status
firmware.update.code
number
Firmware update confirmation code
gsm.mcc
number
Mobile network (GSM, 3G, 4G, LTE, 5G, ...) country code
gsm.mnc
number
Mobile network (GSM, 3G, 4G, LTE, 5G, ...) code
gsm.operator.code
string
Mobile network (GSM, 3G, 4G, LTE, 5G, ...) operator code, which is MCC joined with MNC
gsm.signal.level
number
percentage
Mobile network (GSM, 3G, 4G, LTE, 5G, ...) signal strength level
gsm.signal.quality
number
The quality (bit error rate) of the Mobile network (GSM, 3G, 4G, LTE, 5G, ...) signal
gsm.sim.iccid
string
Integrated Circuit Card Id of SIM card of the Mobile network (GSM, 3G, 4G, LTE, 5G, ...)
hardware.version
string
Hardware version
ident
string
Device unique identifier like serial number, IMEI, etc
illegal.movement.alarm
boolean
Illegal movement alarm event
indication.mode
string
Position indication mode: A - autonomous, D - differential, E - estimate, N - invalid data
internal.battery.hardware.version
string
Internal battery hardware version
left.turm.lamp.status
boolean
Left turn lamp status - true - on, false - off
lock.status
boolean
Lock status
message.type
string
Message type
peer
string
IP:port from which device connecting to the channel
position.altitude
number
meters
Altitude value for position
position.hdop
number
Horizontal dilution of precision
position.latitude
number
degrees
Latitude coordinate value
position.longitude
number
degrees
Longitude coordinate value
position.satellites
number
Quantity of satellites used to calculate coordinates for given position information
position.speed
number
km/h
Instant speed at position detection moment
position.valid
boolean
Is position information accurate and valid for given timestamp
protocol.id
number
ID of protocol
reboot.event
boolean
Device reboot event
remaining.range
number
km
Current remaining range
right.turm.lamp.status
boolean
Right turn lamp status - true - on, false - off
scooter.battery.level
number
percentage
Scooter battery level
server.timestamp
number
seconds
Timestamp when server received a message
software.version
string
Software version string
speed.mode
number
Current mode of scooter 1:low speed 2:medium speed 3:high speed
timestamp
number
seconds
Message timestamp
trip.driving.time
number
seconds
Single riding time
trip.duration
number
seconds
Trip duration
trip.mileage
number
km
Distance driven since engine start
vendor.code
string
Vendor identification string code
Properties
I0 Acquire SIM card ICCID number
i0
J0 Other settings 1
j0
lock_while_riding: Whether allow force vehicle to lock while riding
sidewalk_indicator: The display logic for Sidewalk indicator on the dashboard
ai_detection_report: AI detection report
default_rear_light_status: The default rear light status when vehicle is unlcoked
default_front_light_status: The default front light status when vehicle is unlcoked
motor_current_speed_status: Motor current speed status
L5 State of Peripheral Device
l5
operation: Operation
R0 Unlocking/Lock operation request command
r0
Send R0 command (timestamp appended automatically). After device response L0 or L1 command will be sent by server automatically.
lock: Lock/Unlock
user_id: User ID
key_time: Key effective time
S2 Turn on/off control of scooter
s2
enable: Enable
S5 IoT device settings
s5_zk601le
acc_sens: Accelerometer sensitivity
upload_s6: Status for upload scooter info (S6)
heartbeat_interval: Heartbeat upload interval
s6_upload_interval: Scooter information (S6) upload interval
S6 Obtain scooter information
s6
Send S6 command: ask scooter for telemetry inforamtion.
S7 Scooter setting
s7
mode: Mode setting
headlight_switch: Headlight switch
rearlight_control: Rear light control
throttle_response: Throttle response
headlight_flashing: Taillights flashing
S8 Obtain scooter information
s8
Properties
Custom command
custom
Send custom command to device. Format for R0 and L0 commands : 0xFFFF*SCOS,OM,{ident},{instruction_type},{payload},# Format for other commands with payload: 0xFFFF*SCOS,OM,{ident},{instruction_type},{payload}# Format for commands with no payload: 0xFFFF*SCOS,OM,{ident},{instruction_type}# Note: The following settings are saved after power down.
payload: Comma separated list of parameters to send as payload
instruction_type: 2 letter instruction type
R0 Unlocking/Lock operation request command
{"payload":"0,20,1234","instruction_type":"R0"}
L0 Unlocking command, e.g. 255 value received as key in R0 command
{"payload":"255,1234","instruction_type":"L0"}