ESP8266 - How does it understand what "AT+RST" means without the firmware - arduino-ide

I am new to ESP8266 and to the electronics world. I request you to please be patient if I am mis-understanding a point.
I am using ESP8266-01.
I successfully re-flashed the at official ai-thinker firmware version 1.1.1 to my module and I noticed that it was being written at memory location 0x00000.
Later I successfully uploaded a basic blink program using Arduino ide. Again the program was written to the memory location 0x00000(over-writing the firmware I guess).
I want to use it as a web server. The code for that uses the AT commands, something like "Serial.println("AT+RST");"
Now from what I understand the firmware would be over-written. Then how would the module understand what "AT+RST" means?
Thanks

"Arduino" is more than just the IDE you see and the boards (e.g. Uno). Arduino is also a kind of firmware/OS that runs on those boards. A sketch you write in the IDE is compiled together with the firmware into a single package that's written to memory.
There are a few more hints at https://github.com/esp8266/Arduino:
This project brings support for ESP8266 chip to the Arduino
environment. It lets you write sketches using familiar Arduino
functions and libraries, and run them directly on ESP8266, no external
microcontroller required.
ESP8266 Arduino core comes with libraries to communicate over WiFi
using TCP and UDP, set up HTTP, mDNS, SSDP, and DNS servers, do OTA
updates, use a file system in flash memory, work with SD cards,
servos, SPI and I2C peripherals.
When you hit that 'Upload' button in the IDE you're effectively replacing anything that's been written to the ESP8266 before.

This question is wrong on many levels.
It was based on the assumption that "Serial.println("AT+RST")" was a command to the esp while in reality the programmer meant it as a logging message to the serial monitor.
I had asked "How does it understand what “AT+RST” means without the firmware". The answer is that it doesn't and it can't unless I write some code in my sketch to handle it. The firmware is a kind of interpretter. It accepts a command in a particular format (e.g. "AT \n"), parses it, executes some corresponding low level function and returns the result.
After I have uploaded a sketch and over-written the AT firmware, the interpretter code is gone and hence the esp cannot interpret/understand the AT command.
#AdrianoRepetti:
"How "web server" and AT commands are related is unknown to me" - You are right, they are not related. My bad.
"Anyway AT commands is understood directly by ESP8266 chip" I doubt it.
Thanks for your answers.
This question is not adding any knowledge to anything. I think it should be deleted.

Related

How do we call c++ application from web on client side on linux

For example, a client has a c++ application, and trying to access web application on the browser. But the web application needs to run this application. I don't understand how we can call that application from web. I tried that solution https://askubuntu.com/questions/330937/is-it-possible-to-open-an-ubuntu-app-from-html . but it did not work. It only opens well-recognized apps. Can we use this technique to open c++ application and give them some argument, like ./abc -a password -b username.
If you find my question confusing, please let me know. I will try to explain more.
Short answer: no.
There are workarounds that would include registering link handlers, like the solution you tried, but you can't call a command line program from within a web browser directly (there are a million ways it could be misused).

Debugging a ppc64 custom OS using QEMU

I am trying to write a simple powerpc64 OS using openfirmware and qemu. My main difficulties come from the lack of a good debug output to use when printing useful information.
When developing for the x86 platform I would use the 0xE9 CPU IO port for printing, and I would redirect it to the stdout of my console using -debugcon stdio, but when searching in the online documentation of QEMU and in several forums I could not find an equivalent for ppc64.
Is there any mechanism like the 0xE9 QEMU-specific CPU port in the x86 platform that can be used for debugging when coding for ppc64, in the same fashion? Thanks in advance.
If you're using OpenFirmware and haven't quiesced it yet, perhaps you could get somewhere with the write OpenFirmware call.
See e.g. Linux's prom_printf() in arch/powerpc/kernel/prom_init.c.

How difficult it is to reverse engeneer code from UWP / Windows Store apps?

I know that apps submitted to Windows Store are compiled using .NET Native. How difficult it is to reverse engineer the source codes from apps downloaded from windows store? Does it make sense to obfuscate the code first?
Even if it gets compiled in native, the behaviour of the program can be read using a native debugger, like http://x64dbg.com/ (in assembler, of course...). The exact original code can't be read.
So in the end it depends on the complexity of your program and the patience/interest of the person doing the reverse engeneering.
if you compile it in native it is not possible to reverse engineer it.
if you compile it in managed, they are open, any decent dev can go to see your code.
hth
-g

Converting an application from Unity3d to Flash

I am attempting to convert my Unity3d game to flash but am experiencing trouble with comments. Because of the socket trouble, I am trying to use Json and Post, but I don't know where to start. I saw this
Java server- client socket communication
but it incorporates sockets.
This is for the user client, but I also need to redo the server side. I believe I need a web server to get the Json strings and return the appropriate response.
Am I doing this right, or is there something I am overlooking?
This may lessen the amount of work quite a bit if you are interested in using an API. Smartfox is an awesome Client API / Multiplayer server tool that can increase output time as well as allow you to implement efficiency code to improve server stability.
It works for both Unity3D and flash.
http://www.smartfoxserver.com/
Addressing your main question I believe you would need a server to effectively use Json and be able to communicate to the clients however this is where smartfoxserver can come in handy. I have not had much experience in the flash multiplayer programming however smartfox is a great tool and I used it to make multiplayer programs in unity3d.
Hope this helps!
Mitch

How to sign a binary as part of post build step using sn.exe from Windows SDK?

I am a totally unfamiliar in this C# Visual Studio programming environment but I am required to finish a task.
I am sorry if my question seems silly. But I really could not understand what other posts on this site or other site on the net explaining. I need a step by step guide to do this final step to accomplish my task.
I have been given an application called MCC written using Visual Studio 2008. However, this application could not run properly in Window Vista due to the issue of DEP. MCC has a function to display video from an IP camera. This required the ActiveX control of AxGif89aLite. However, DEP in Vista is by default enabled. The flag IMAGE_DLLCHARACTERISTICS_NX_COMPAT in PE header do not allow this control to be used. Several tests have been run and identified this is the problem.
From an article online,
http://blog.dyadica.net/archives/data-execution-prevention-workaround, they suggest I need to add the below to MCC post build event.
call $(DevEnvDir).. \tools\vsvars32.bat
editbin.exe /NXCOMPAT:NO $(C:\Program Files\Aerocut\MCC\MCC2.exe)
So, I add this and rebuild the MCC solution file. Then, I cannot get what this last step required me to do.
Please note that if you sign the binary in Visual Studio, flipping the IMAGE_DLLCHARACTERISTICS_NX_COMPAT flag in the post build step after the binary has been signed will result in an assembly that will fail strong name validation. To work around this sign your binary as part of the post build steps.
To do this, use SN.EXE from the Windows SDK.
I am really confused what is this signing binary.
From information that I googled, signing an application is getting a certificate for the program so that it is more secured, am I right here?
I got the SN.EXE in my computer. But, how do I sign my binary as post build step? The binary should be my compiled execution file right?
I reinstalled the MCC with the rebuilt setup file. It still give me the following error:
Unable to get the window handler for the 'AxGif89aLite' control. Windowless ActiveX controls are not supported.
Help is very much appreciated. I would like to express thank you in advance here first.
If you're not signing the executable already as part of the compilation then you don't need to worry about it.