ESP_Basic Driving Lessons
Posted: Thu May 05, 2016 3:38 pm
ESP_Basic Driving Lessons - Chapter 1.
This isn't intended to teach Basic, it's to help newcomers have a quick leg-up and get them quickly dabbling with ESP_Basic for themselves. Don't take the offered help as official or gospel, nor shoot me for my doubtless many mistakes... it is merely personal hindsight and opinion being offered to anyone who might appreciate it. At the time of writing the latest version is Alpha 21.
At A Glance
Chapter 1: (this) Explains how ESP_Basic differs from what you may already know. It walks you through the installation of ESP_Basic, then prepares you for the driving seat.
Chapter 2: Gives you your first ESP_Basic driving lessons, and points out several tips and gotchas. It also provides you with a Time Machine and starts you on a journey several days into the future.
Chapter 3: Completes your journey into the future, having transformed you into a competent ESP_Basic debugger in minutes rather than the many days (or weeks) it would otherwise take.
Chapter 4: Warns you about the Mad House.
Chapter 5: Takes you racing with hardware.
Chapters 6, 7, 8, 9: Reserved for future use - one will be a udp networking tutorial
Chalk and Cheese
If you are coming from Arduino and C++, well good on you - but it won't do you much good here... better to forget all pre-conceptions and approach ESP_Basic as a complete beginner, because they couldn't be more different from each other.
I would liken the Arduino and C++ ways of doing things to being in the armed forces - strict rules, rigidly enforced discipline, assault courses, survival of the fittest, hard graft, pain, blood sweat and tears, not for the faint-hearted.
In comparison, ESP_Basic is like play school - quickly dive straight in and be left alone to have as much boisterous fun as you want, without any lengthy training, or any punishment for getting things wrong. If you think that's fanciful, then let's do a quick real comparison:
Arduino and C++ requires you to use hundreds of Mb just for the IDE alone, never mind all the libraries and additional tools you'll eventually collect. Once you've got that running, you need to compile your sketch, which will refuse to compile with just 1 tiny character missing or out of place. For a first-time newcomer, just to get a sketch working can take several hours (if not days) of strictly regimented tasks, and then trying to learn from experimental changes can be a very long and wearisome task of failing re-compiles.
ESP_Basic on the other hand lets you start dabbling with a script in less than 5 minutes, and then trying out any experimental script changes takes just seconds. If you doubt that, or think it exageration, I suggest you time how long it takes for yourself!
INSTALLATION
This is the process in a nutshell for a complete techno-virgin...
Download the ESP_Basic 'Flashing' utility from here:
http://www.esp8266basic.com/download.html
It's just one small exe that can be saved and run from wherever you like (even the desktop if you wish).
Double-click the downloaded file to run it.
No folder structure is needed or created, it simply pops up a window for you to enter your particular ESP's flash size (just select 512K if you're not sure about yours), the com port you will be using to connect to your ESP, and a couple of big un-missable buttons.
Boot your ESP into flash mode (power-on or reset with gpio00 button or jumper on), click the flashers big Re-flash button, then wait a few seconds for the blue led to stop flashing... then the ESP will automatically reboot up as your ESP_Basic wifi AP (access point) for you to connect up to in your browser by entering its default IP address of 192.168.4.1
Job done! And it couldn't have been any easier or quicker.
LIGHTWEIGHT
First thing to realise is that the browser is all you need for using ESP_Basic on your ESP.
If you are awake, and not in awe, then you truly are a techno-virgin! - because that should be quite an astonishing sentence to assimilate for anyone who is used to the arduino IDE and compilers and toolchains and libraries etc.
To ensure you are fully awake - having flashed with ESP_Basic once, you no longer need to flash with the UART again unless you wish to upgrade or re-install ESP_Basic - because any and all ESP_Basic programming is now done remotely via wifi and the web browser.
Let me spell that out in case you missed the significance - Lighting-fast Over The Air programming straight out of the box as standard, and without needing to lose half of your ESP flash memory for the privilige!
If you are now paying full attention, then assimilate this - ESP_Basic is capable of running scripts up to 5,000 (FIVE THOUSAND) lines long, and yet ALREADY INCLUDES built-in functionality for web pages, Infra-Red, I2C and SPI peripheral buses, UDP networking, twin serial ports (ie: soft serial), LCD screen drivers, NEO-pixels, etc, etc, and more is being added all the time!
So, it's a case of Basic by name, but certainly not by nature.
To put things into balanced perspective, pre-compiled code allows arduino C++ to do things faster, and the use of libraries allows it to do some things that ESP_Basic cannot (yet) do, but any single ESP_Basic device is capable of collectively doing many more things without running out of resources, and it can do it all much simpler than the equivalent C++ code... which typically requires at least double the lines of code to achieve the same result.
To put it another way... C++ is more for dedicated purists who want faster compiled code operation, whereas ESP_Basic interpreter is more for impatient hobbyists who want faster and easier results.
This isn't intended to teach Basic, it's to help newcomers have a quick leg-up and get them quickly dabbling with ESP_Basic for themselves. Don't take the offered help as official or gospel, nor shoot me for my doubtless many mistakes... it is merely personal hindsight and opinion being offered to anyone who might appreciate it. At the time of writing the latest version is Alpha 21.
At A Glance
Chapter 1: (this) Explains how ESP_Basic differs from what you may already know. It walks you through the installation of ESP_Basic, then prepares you for the driving seat.
Chapter 2: Gives you your first ESP_Basic driving lessons, and points out several tips and gotchas. It also provides you with a Time Machine and starts you on a journey several days into the future.
Chapter 3: Completes your journey into the future, having transformed you into a competent ESP_Basic debugger in minutes rather than the many days (or weeks) it would otherwise take.
Chapter 4: Warns you about the Mad House.
Chapter 5: Takes you racing with hardware.
Chapters 6, 7, 8, 9: Reserved for future use - one will be a udp networking tutorial
Chalk and Cheese
If you are coming from Arduino and C++, well good on you - but it won't do you much good here... better to forget all pre-conceptions and approach ESP_Basic as a complete beginner, because they couldn't be more different from each other.
I would liken the Arduino and C++ ways of doing things to being in the armed forces - strict rules, rigidly enforced discipline, assault courses, survival of the fittest, hard graft, pain, blood sweat and tears, not for the faint-hearted.
In comparison, ESP_Basic is like play school - quickly dive straight in and be left alone to have as much boisterous fun as you want, without any lengthy training, or any punishment for getting things wrong. If you think that's fanciful, then let's do a quick real comparison:
Arduino and C++ requires you to use hundreds of Mb just for the IDE alone, never mind all the libraries and additional tools you'll eventually collect. Once you've got that running, you need to compile your sketch, which will refuse to compile with just 1 tiny character missing or out of place. For a first-time newcomer, just to get a sketch working can take several hours (if not days) of strictly regimented tasks, and then trying to learn from experimental changes can be a very long and wearisome task of failing re-compiles.
ESP_Basic on the other hand lets you start dabbling with a script in less than 5 minutes, and then trying out any experimental script changes takes just seconds. If you doubt that, or think it exageration, I suggest you time how long it takes for yourself!
INSTALLATION
This is the process in a nutshell for a complete techno-virgin...
Download the ESP_Basic 'Flashing' utility from here:
http://www.esp8266basic.com/download.html
It's just one small exe that can be saved and run from wherever you like (even the desktop if you wish).
Double-click the downloaded file to run it.
No folder structure is needed or created, it simply pops up a window for you to enter your particular ESP's flash size (just select 512K if you're not sure about yours), the com port you will be using to connect to your ESP, and a couple of big un-missable buttons.
Boot your ESP into flash mode (power-on or reset with gpio00 button or jumper on), click the flashers big Re-flash button, then wait a few seconds for the blue led to stop flashing... then the ESP will automatically reboot up as your ESP_Basic wifi AP (access point) for you to connect up to in your browser by entering its default IP address of 192.168.4.1
Job done! And it couldn't have been any easier or quicker.
LIGHTWEIGHT
First thing to realise is that the browser is all you need for using ESP_Basic on your ESP.
If you are awake, and not in awe, then you truly are a techno-virgin! - because that should be quite an astonishing sentence to assimilate for anyone who is used to the arduino IDE and compilers and toolchains and libraries etc.
To ensure you are fully awake - having flashed with ESP_Basic once, you no longer need to flash with the UART again unless you wish to upgrade or re-install ESP_Basic - because any and all ESP_Basic programming is now done remotely via wifi and the web browser.
Let me spell that out in case you missed the significance - Lighting-fast Over The Air programming straight out of the box as standard, and without needing to lose half of your ESP flash memory for the privilige!
If you are now paying full attention, then assimilate this - ESP_Basic is capable of running scripts up to 5,000 (FIVE THOUSAND) lines long, and yet ALREADY INCLUDES built-in functionality for web pages, Infra-Red, I2C and SPI peripheral buses, UDP networking, twin serial ports (ie: soft serial), LCD screen drivers, NEO-pixels, etc, etc, and more is being added all the time!
So, it's a case of Basic by name, but certainly not by nature.
To put things into balanced perspective, pre-compiled code allows arduino C++ to do things faster, and the use of libraries allows it to do some things that ESP_Basic cannot (yet) do, but any single ESP_Basic device is capable of collectively doing many more things without running out of resources, and it can do it all much simpler than the equivalent C++ code... which typically requires at least double the lines of code to achieve the same result.
To put it another way... C++ is more for dedicated purists who want faster compiled code operation, whereas ESP_Basic interpreter is more for impatient hobbyists who want faster and easier results.