用ESP8266将Atari ST连接到互联网(2017)

2020-08-18 05:42:29

在接下来的教程中,我将描述我是如何通过使用廉价的ESP8266微控制器作为WiFi转串行路由器(运行速度为19.2kbit/s)将我的Atari ST连接到互联网的。请注意,Atari有更快的网络连接解决方案,如NetUSBee或CosmosEx。但是,我在这里描述的设置几乎是最低成本的。你可能得花不到10美元买硬件。

还要注意,雅达利上的互联网用途有限;不要指望能用你的ST来冲浪现代网站。然而,更简单的服务,如通过IRC(互联网中继聊天)聊天或通过FTP下载文件也是可能的。

对于本教程对您的硬件或数据造成的任何损坏或其他问题,我不承担任何责任。另外,虽然我会尽力回答您的问题,但请不要期望我会为这里描述的一切提供专业支持。有关获取帮助的其他方式,请参阅下面的内容。

核心组件是Espressif的ESP8266微控制器,支持WiFi连接。我在ESP-01板上使用它,但是任何其他带有这个微控制器的板都可以做得一样好。此外,您还需要一个电平移位器,如用于RS-232串行端口的MAX3232和一个3.3V电源。我把所有东西都按照这个示意图接线了:

至少在临时情况下,您的PC还需要3.3(!)的串行电缆(例如USB转串行适配器)。V逻辑电平以刷新固件。

ESP8266将充当运行串行线互联网协议(SLIP)的WiFi到串行路由器,这要归功于Martin Ger的esp_SLIP_ROUTER固件。我必须稍微修改固件,例如将默认串行比特率设置为19.2kbit/s,并使此比特率可配置。(与此同时,用于配置比特率的命令也已添加到Martin';的原始固件中。)。

在此处下载修改后的固件,并使用您首选的ESP8266闪存工具进行刷新。对于我的ESP-01板,我使用了esptool和以下命令-您必须将com8适配到您要用于闪存的串行端口:

如果您的ESP8266以前从未使用任何固件进行过刷新,您还需要刷新文件:esp_init_data_default.bin,您可以从此处下载该文件。丢失初始化数据的症状可能是ESP8266无休止的重启循环,并且模块上的LED可能会疯狂闪烁。正确的地址取决于闪存芯片的大小。您可以在这里阅读更多详细信息。然后再次使用闪存软件(如esptool),为您的模块替换正确的地址和串行端口:

雅达利ST上的SLIP串行链接的设置不是即插即用的,事实上这是我花了最多时间的事情。因此,您现在可以下载我为您预先配置的软件包,其中包含您的Atari的STING网络堆栈。下载的内容甚至可以放在一张720k的软盘上。如果您想要从硬盘运行它-我推荐这样做-您必须使用文本编辑器更改AUTO\STING.INF和CONTROL.INF中的驱动器号。

正如在Atari TOS上通常所做的那样,您需要恢复AUTUI文件夹中程序的正确顺序。为此,首先将DRVIN.PRG从AUTO.TMP文件夹移动到AUTO文件夹,然后将MFP.PRG移动到AUTO文件夹,最后将STING.PRG移动到AUTO文件夹。

从软盘(或硬盘)引导后,将安装STING。但是,您仍然需要配置WiFi转串行路由器才能使用您的WiFi凭据。为此,启动TELNET.PRG并打开到主机192.168.240.1和端口7777的连接。您将得到CMD&>;提示。使用Set SSID(设置SSID)和Set Password(设置密码)命令将登录数据输入到WiFi,然后输入保存和重置命令以存储配置并重新启动固件。执行重置命令后,连接将丢失。打开到相同主机和端口号的新连接。然后,show命令应显示模块已连接到您的WiFi。如果不是,请仔细检查登录数据。您还可以使用SCAN命令查看ESP8266是否可以看到您的WiFi。记下图中显示的DNS服务器。

有关配置固件使用的串行比特率的说明,请参见下面的说明。请务必阅读那里的警告。

有关示例配置会话,请参见下面的屏幕截图。请注意,IP地址和DNS服务器显然会获得不同的值。

从桌面附件菜单中,选择控制面板,然后选择STIN协议和解析器。在名称服务器字段中输入先前显示给您的DNS服务器。别忘了单击“保存”。有关示例,请参阅此屏幕截图:

您的Internet连接现在已配置好,可以与支持STINK或STIK网络堆栈的任何程序一起使用。除了Telnet客户端,我还包括一个IRC(聊天)客户端和Web浏览器CAB。但是,请注意,CAB和CAB.OVL的版本非常过时,仅作为概念验证包含在内。您还可以为Atari找到几个合适的FTP和电子邮件客户端,例如AFTP和AMAIL。

固件的默认比特率为19.2kbit/s,这是Atari ST中的MFP(串行控制器)在不进行任何硬件修改的情况下能够达到的最大速度。但是,如果使用适当的HSMODEM串行驱动程序,更高级的Atari计算机(如MegaSTE、TT或Falcon)可以在串行端口上使用更高的比特率。因此,我修改了固件以允许您配置比特率。为此,请使用TELNET.PRG连接到192.168.240.1端口7777(同上)。在命令提示符下输入SET BITRATE命令,例如SET BITRATE 57600,然后输入SAVE命令。在ESP8266下一次上电或在重置命令之后,固件将使用新的比特率。

在台式机附件菜单中,选择控制面板,然后选择串行端口,并相应地更改STIN的比特率。别忘了单击“保存”。

请注意,固件将接受任何比特率。如果您设置了计算机不支持的比特率,您将无法使用TELNET.PRG再次更改它。如果模块仍连接到您的WiFi,并且您知道其IP地址(使用show命令显示为外部IP),则可以从WiFi中的另一台计算机telnet到此IP和端口7777以更改配置。否则,您将不得不擦除ESP板的闪存,例如使用esptool,然后重新刷新固件以恢复到19.2kbit/s。因此,在输入保存命令之前,请务必仔细检查比特率。

如上所述,连接速度受到ST串口容量的限制。此外,WiFi到串行路由器仅为传出连接执行网络地址转换。传入连接将不起作用。这意味着你不能在Atari上运行服务器,FTP文件传输只能在被动模式下工作。

我非常喜欢你在雅达利论坛这个帖子上提问,因为这样其他人就可以从答案中受益。另外,请不要指望我马上回复,这只是我的一个爱好项目。