Announcement: Not not your father's IP65 [message #375397] |
Sat, 03 November 2018 17:45 |
ol.sc
Messages: 211 Registered: January 2013
Karma: 0
|
Senior Member |
|
|
Hi,
Likely you think of IP65 as an asm written TCP/IP library for asm
programmers. But IP65 has significantly changed recently in two
directions:
1. C Interface
The IP65 programming model has deliberately always favoured simplicity
over flexibility. However, targeting only asm programmers there
weren't too many to appreciate that design.
Since I started to maintain IP65 I worked on making IP65 usable for C
programmers and recently that effort was completed successfully. You
can now download ready-made libraries plus a C header file and start
your own TCP/IP or Internet program right away using cc65.
The approach to call asm code from C is totally natural to cc65 given
that the C standard library is written almost completely in asm too.
And just like the C standard library IP65 can be used on several 6502
machines. All this fits so nicely that I adopted IP65 as part of the
cc65 GitHub project, meaning the IP65 main URL is now:
https://github.com/cc65/ip65
If you want to take a peek at the IP65 C interface check out
https://github.com/cc65/ip65/blob/master/inc/ip65.h
2. Ready-to-run TCP/IP programs
Beside the libraries IP65 now comes with five programs:
https://github.com/cc65/ip65/wiki/Ready-to-run-TCP_IP-progra ms
- Telnet65 is the only asm program coming with IP65. I completed it
already 1.5 years ago.
- Date65 is primarily a demo for a simple IP65 C program. Additionally
it can be of actual use for everybody without a real-time clock.
- HFS65 is an HTTP file server allowing any web browser to access all
files on an Apple II.
- Wget65 is an HTTP file/disk downloader with advanced cmdline like
UI. I created two demo videos.
- Tweet65 is primarily a demo for triggering events on IFTTT aka
if-this-then-that (https://ifttt.com/) from a 6502 machine.
Additionally it can be used as-is to post tweets on Twitter after
putting together a simple "Applet" on IFTTT.
Have fun with all the new possibilities! And this time round nobody
can complain that there are no Ethernet cards obtainable ;-)
Regards,
Oliver
|
|
|
|
|
|
Re: Announcement: Not not your father's IP65 [message #375426 is a reply to message #375409] |
Sun, 04 November 2018 09:13 |
ol.sc
Messages: 211 Registered: January 2013
Karma: 0
|
Senior Member |
|
|
Hi Jeff,
> This is awesome! I cannot wait to get a chance to try out tweet65.
:-)
> What would it take to read a twitter feed with IP65? Possible?
Obviously I thought about that too...
Short answer:
No.
Long answer:
- IFTTT is about events, things that happen, data that is pushed. So
there's no idea to pull the tweets from your feed. Rather you can only
define events like "There's a new tweet matching some serach
criteria".
- If such an event occurs then IFTTT can call a webhook. But that
requires your home router to forward incoming TCP traffic on some port
to some LAN machine.
- Such a webhook call would be SSL/TLS encrypted -> showstopper.
- Currently IP65 doesn't allow to both listen for incoming TCP
connections and establish outgoing TCP connections.
- <...>
Regards,
Oliver
|
|
|
Re: Announcement: Not not your father's IP65 [message #375438 is a reply to message #375409] |
Sun, 04 November 2018 17:01 |
D Finnigan
Messages: 1154 Registered: October 2012
Karma: 0
|
Senior Member |
|
|
Jeff Ramsey wrote:
> This is awesome! I cannot wait to get a chance to try out tweet65.
>
> What would it take to read a twitter feed with IP65? Possible?
>
Anything is possible. But unless you or somebody you love writes an SSL for
Apple II, you'll need to use an HTTP proxy. Then you could use the W5100's
built-in TCP to send an HTTP request, or you could use Contiki's web
browser.
--
]DF$
The New Apple II User's Guide:
https://macgui.com/newa2guide/
|
|
|
|
|
|
|
|
Re: Announcement: Not not your father's IP65 [message #375574 is a reply to message #375562] |
Wed, 07 November 2018 14:54 |
ol.sc
Messages: 211 Registered: January 2013
Karma: 0
|
Senior Member |
|
|
Hi,
> I found your doc for making the applet - https://github.com/cc65/ip65/wiki/Tweet65
>
> All worked well [...]
Thanks for trying - and the feedback :-)
> [...] only the last point not: I got at "Your key is:" a number with 43 char?
>
> How can I insert that?
I was trying to find out if the keys have a fixed/maximum length. It
seemed to me that they have (with 22 chars). However my thought was
obviously very wrong :-(
I just updated Tweet65 to allow for up to 80 chars.
Regards,
Oliver
|
|
|
|
Re: Announcement: Not not your father's IP65 [message #379237 is a reply to message #375426] |
Tue, 01 January 2019 11:22 |
ol.sc
Messages: 211 Registered: January 2013
Karma: 0
|
Senior Member |
|
|
Hi,
I wrote:
> - Such a webhook call would be SSL/TLS encrypted -> showstopper.
This statement turned out to be wrong. In fact IFTTT allows to define
both https:// and http:// URLs for outgoing webhook calls.
With that it becomes an option to receive IFTTT webhook calls with an
Apple II using IP65. In order to prove that it actually works I
created a (pretty silly) demo that allows to use the Alexa commands
- Alexa, trigger black
- Alexa, trigger orange
- Alexa, trigger green
- Alexa, trigger blue
- Alexa, trigger white
to have an Apple II fill its screen with that color.
I personally find it amazing how little code is necessary to do so.
Find it at https://github.com/cc65/ip65/wiki/IFTTT and the demo video
at https://youtu.be/IO0twDOMDlQ
More interesting usecases would be some personal digital signage
and/or Iot / home automation using the Apple II Annunciators.
However, it holds true that IP65 doesn't allow to simultaneously
trigger and receive IFTTT webhooks. Rather the user needs to press a
key to stop the webhook reception once started.
And finally, IP65 only supports HTTP GET requests (without body). It
has built-in support for query string parsing. The URL can be up to
$800 bytes.
Have fun building something cool with this,
Oliver
|
|
|