nanoPEB, nanoPEB wifi adapter and CF7+ were designed to bring the full experience of the TI-99/4a home computer into the 21st century and yet be affordable. This site offers the support programs and manuals needed to run either. As time progresses, articles and a FAQ will be added to help get the most out of both.
The nanoPEB Wi-Fi Adapter uses the ESP-01 module which implements the ESP8266. The ESP8266 is a low-cost Wi-Fi microchip with full TCP/IP stack and microcontroller capability produced by Espressif Systems. This small module allows nanoPEB to connect to a Wi-Fi network and make simple TCP/IP connections using Hayes-style commands.
The ESP8266 is integrated with a 32-bit Tensilica processor, standard digital peripheral interfaces, antenna switches, RF balun, power amplifier, low noise receive amplifier, filters and power management modules.
The nanoPEB Wi-Fi Adapter includes a 5v, 2.1mm Y-cable so tha the adapter can share the existing nanoPEB power supply. No new power supply neeed. The adapter converts the 5v to 3.3v which necessesary since the ESP8266 is not 5v tolerant.
To setup the adapter, follow these steps:
ESP01/O is a simple terminal emulator that can be loaded through an Editor-Assembler or Mini-Memory cartridge (Extended Basic in the works). It allows you to enter simple "AT" commands to the ESP8266.
These two files are loaded by BASIC or and allow the execution of AT+ commands. ATPLUS/B loads ESPLIB3/O
Example: AT+GMR (shows ESP-01 firmware version)
Another example: AT+CWLAP (shows available routers)
SNTP/XB - sample Extended Basic program that gets date and time from the Web
90 REM GET TIME
100 CALL CLEAR
110 CALL INIT
120 CALL LOAD("DSK1.ESPLIB3/O")
130 CALL LINK("ESPINI")
140 PRINT "TIMEZONE IS OFFSET FROM UTC"
150 IF S$="Q" THEN 510
160 LINPUT "ENTER TIMEZONE HERE: ":S$
180 GOSUB 330
200 GOSUB 330
220 PRINT SEG$(S$,14,24)
340 FOR I=0 TO LEN(S$)-1
350 CALL LOAD(B+2+I,ASC(SEG$(S$,I+1,1)))
360 NEXT I
370 CALL LOAD(B,LEN(S$)/256)
380 CALL LOAD(B+1,LEN(S$))
390 CALL LINK("ESPCMD")
400 CALL PEEK(B,L1,L2)
430 FOR I=0 TO L
440 CALL PEEK(B+2+I,C)
450 IF C=13 THEN 490
460 IF C<>10 THEN 480
470 GOTO 490
490 NEXT I
ESP01/O - Tagged Object File - Simple terminal emulator for ESP01 - Load Program with EA cartridge and run ESP01
ESPLIB3/O - Tagged Object File - Loadable by BASIC and allows BASIC programs to access ESP01.
ATPLUS3/B - Tagged Object File - Loadable by BASIC, It is Basic version of ESP01/O.
CompactFlash-to-PC - DOS utility to copy volumes from a Compact Flash to your PC. (Requires Compact Flash reader).
PC-to-CompactFlash - DOS utility to copy volumes from your PC to a Compact Flash. (Requires Compact Flash reader).
The Mac has a built-in command that will prepare the compact flash. The technique for preparing a compact flash is similar to preparing a Raspberry Pi SD card. You can read about it here: https://computers.tutsplus.com/articles/how-to-clone-raspberry-pi-sd-cards-using-the-command-line-in-os-x--mac-59911
These are the specific commands to be used. Please note that /dev/sdc is an example location. This might be different depending on your Mac configuration.
dd of=/dev/sdc count=1600 if=volume3.dsk seek=3200
This copies a file named volume3.dsk to the 3rd virtual diskette on the compact flash drive
dd if=/dev/sdc count=1600 of=volume2.dsk skip=1600
This copies the 2nd virtual diskette on the compact flash drive to a file named volume2.dsk
TMO is timeout. Try this:
1 - turn nanoPEB off and pull the adapter out of the nanoPEB
2 - unplug the power from the adapter
3 - plug the power back back in
4 - plug the adapter back into the nanoPEB
I got your basic program and I can reproduce the "status" but that's pretty much it.. is there a doc on the AT syntax?
ExpressIf has the full documentation here: AT Commands
There is a basic program that gets current time in this website. But you can find a lot of discussion on usage on Arduino websites.
Note that all commands have to be in upper-case. Some commands are:
AT+GWMODE=3 //enables host and client mode
AT+CWLAP //lists available connection points
AT+CWJAP=<ssid>,<pwd> //connects to wifi
AT+CIPSNTPCFG=1,-6 // set SNTP timezone to CST (2nd parameter is offset from UTC)
AT+CIPSNTPTIME? // gets SNTP time for the configure timezone