Skip to content
Controlling your Ambot
- Your Ambot’s ESP8266 microcontroller is
- a NodeMCU DevKit v2
- mounted on a NodeMCU Motor Shield
- running custom firmware
- connected via WiFi
- running an internal web server
- controlled using HTTP commands
- Send commands to the bot’s web server. For example:
http://esp_1a2b3c/status “Comm check”: returns “Operational” message if bot brain and connection are working
http://esp_1a2b3c/motor?m=500,1,500,1 tells motor 1 go at speed 500 in direction 1, motor 2 go at speed 500 in direction 1
http://esp_1a2b3c/motor?m=500,1,900,0 tells motor 1 go at speed 500 in direction 1, motor 2 go at speed 900 in direction 0
http://esp_1a2b3c/servo?a=90 tells servo to turn to angle 90
http://esp_1a2b3c/digitalwrite?d=14,1 turns on GPIO pin 14 (which is 5 on the motor board)
http://esp_1a2b3c/digitalwrite?d=16,0 turns off GPIO pin 16 (sending 0 to pin 16 turns on the onboard LED)
http://esp_1a2b3c/digitalwrite?d=16,1 turns on GPIO pin 16 (sending 1 to pin 16 turns off the onboard LED)
http://esp_1a2b3c/digitalwrite?d=2,0 turns off GPIO pin 2 (sending 0 to pin 2 turns on the other onboard LED)
http://esp_1a2b3c/analogwrite?d=14,150 turns on GPIO pin 14 to value 150
- Supported commands:
/status
- returns status report of bot (details sent only to serial port)
/motor?m=a1,a2,b1,b2
- commands motor
- speeds (a1, b1) are 0-1023
- directions (a2, b2) are 0 and 1
/stopmotors
/runstop?m=a1,a2,b1,b2,t
- commands motor to run for t milliseconds (1 second = 1000 milliseconds)
- speeds (a1, b1) are 0-1023
- directions (a2, b2) are 0 and 1
- time (t) is milliseconds (250 = 1/4 second; 1000 = 1 second; 2000 = 2 seconds
/servo?a=a1
- commands servo to move to angle a1 (0 <= a1 <= 180)
/servo_off
- Logically disconnects servo (stops jitter). Servo automatically reconnects when
/servo?a=x command is sent.
/distance or /dist
/temphumread or /tempHumRead or /temp
- Reading temperature or humidity takes about 250 milliseconds!
- Sensor readings may also be up to 2 seconds ‘old’ (is a very slow sensor)
/reset
- We will control our bots using Snap! This template gets us started (right-click to download. Choose “Save link as…“):