Hello, my dear friends.
Today I start to tell you a story about one experiment project.
It starts with the idea of one of my colleague.
The idea was based on the Fujifilm pocket printer – Instax Share – Wireless Photo Printer.
After some research we found that someone already do experiments with that printer and even publish some code on the github.
Here it is: https://github.com/jpwsutton/instax_api.
This man, his name is James Sutton already does a great job to find a list of printer wireless commands and write a usable code to utilize it.
Ok we said, seems all work is done and we can create the first version of our device really quick. We plan to finish for no longer than two weeks. Eh, how naive we were.
Finally, I’ve got a printer for tests.
The first problem, that James didn’t resolve is a power saving system. After approximately 10 minutes printer is shut down.
At first, we decided to send some commands to the printer constantly.
But as experiments showed – printer turned off despite the flow of commands.
After some experiments, I decided to open printers case and look. After that, I saw that the printer has a simple power switch button. This button works on close. And to turn on this button needs to be pressed a couple of seconds.
At the first stage, the idea was to use an android tablet with own Ionic application. But after thinking about how to realize button pressing the idea transformed to the next.
On the Raspberry Pi, I plan to place Python code that works with instax_api. On that moment, if I remember correctly, there wasn’t console command to call that API and I need to import classes.
Also, there is some code that checks if the printer is available. Instax Share printer creates own Wifi network with own SSID that begins with INSTAX- and some number here. If this network is present the printer receives commands on special IP 192.168.0.251
So I need code that can detect if that network is present and if it is that special IP can receive a ping.
But let’s go step by step.
- Someone wants to print a photo. This guy looks on the screen, that connected to Raspberry Pi and see own smiling face. About the camera, we will talk at another time.
- Then ‘someone’ touches the button on the screen and started the timer. While timer in progress. A code on the Raspberry looks wifi networks list. Finds Instax Printer network and trying to ping them.
- If all ok. Took a shot. Converts them and send to the printer. Voila.
- If no needed network: via GPIO connectors on the Raspberry switch the relay that closes contacts on the printer’s power button. A printer is turned on and one moment later repeats printer network searching.
The Idea seems clear. I started to implement it.
To be continued