Action Item #677

Add hostapd to laptop for Maker Faire.

Added by Hammel 3 months ago. Updated 2 months ago.

Status:In ProgressStart date:16 Sep 2018
Priority:ImmediateDue date:
Assignee:Hammel% Done:

90%

Category:Maker Faire
Target version:002 - MVP
Severity:02 - High

Description

I need the laptop to be able to run it's own AP so the monitor can connect to it.
Then I need to verify that Jarvis can communicate with the monitor over that subnet.

Associated revisions

Revision c6b1a9c2
Added by Michael J. Hammel 2 months ago

RM #677: Don't start extra threads until and unless the UI thread starts, to avoid SWT display problems on slow machines.

Revision 40f5945a
Added by Michael J. Hammel 2 months ago

RM #677: Remove conditional "usewrapper" usage inside utils.stringify - it didn't work.

Revision 40f5945a
Added by Michael J. Hammel 2 months ago

RM #677: Remove conditional "usewrapper" usage inside utils.stringify - it didn't work.

Revision 5a928e59
Added by Michael J. Hammel 2 months ago

RM #677: More - Remove conditional "usewrapper" usage inside utils.stringify - it didn't work.

Revision 5a928e59
Added by Michael J. Hammel 2 months ago

RM #677: More - Remove conditional "usewrapper" usage inside utils.stringify - it didn't work.

Revision a0b25353
Added by Michael J. Hammel 2 months ago

RM #677: If using the touchscreen then disable button_press callbacks. The touchscreen library will handle that for us.

Revision 68136f27
Added by Michael J. Hammel 2 months ago

RM #677: Bump default minimum level for which we recognize speech to 0.15 so that we work better in noisy environs.

History

#1 Updated by Hammel 3 months ago

  • Severity changed from 05 - Very Low to 02 - High

#2 Updated by Hammel 2 months ago

  • % Done changed from 0 to 50

This turned out to be a lot more than just hostapd (which by itself was easy).

  1. I've upgraded the Chromebook to F27 because F24 didn't have espeak-ng, only espeak which was a very slow-talking playback. After upgrading to F27 and installing espeak-ng, Jarvis can talk normally now.
  2. The Chromebook only has 2GB of memory, which makes it reeeeeally slow, especially for Java. So I've ordered 8GB for it. I could go as high as 16GB but I think 8GB should be enough for the demo.
  3. I installed all security features: ban.sh (ipsets), fail2ban, and logwatch along with an ordinary firewall.
  4. I got create_ap working to setup a closed AP for the monitor.

After all this I discovered that the monitor was no longer accepting multicast from Jarvis. So I'm building a fresh monitor install while hanging onto the old one, just in case. But while doing that I realized that the problem might be routing. So I added this route:

ip route add 239.1.42.3 dev wlp0s29u1u4

Which forces the multicast address on to the temporary wifi. And that worked. So now I need to update my create_ap wrapper to include adding the route, which means background create_ap waiting for the interface to come up and then adding the route - I think. Maybe I can add the route even before it's got an IP. Anyway, there is some work there to be done.

After that I need to verify that the IoT device works with this setup.
Then I need to verify it all works even if the Chromebook is hooked up to the Internet.

#3 Updated by Hammel 2 months ago

  • Status changed from New to In Progress
  • % Done changed from 50 to 60

So it's working now but maybe a little flakey. pisensors started removing registrations when I hit the enable toggle button on the touchscreen. Rebooting and (by accident) reconfiguring the network cleared that and it started working properly. No idea how I got into that mess.

So now I have the ability to use the Chromebook as an AP and route Jarvis commands to the monitor. That seems to work now. I have been able to turn the lights on and off that way. So both Jarvis and pisensors can control the light.

So that's the Maker Faire Ironman demo. I need to move the IoT boards plus hub off of galileo and onto the Chromebook to make sure that works (so I can watch the output with minicom). I don't have any more USB ports available (only two - currently taken up by the Snowball mic and the TP-Link wifi stick). I need to pick a powered hub and try it to make sure it still works.

I should probably verify that the current setup works repeatedly after power cycling each component and layout a detailed setup guide for getting the demo going like this, then try it with a hub.

#4 Updated by Hammel 2 months ago

  • % Done changed from 60 to 90

All hardware moved to being based on chromebook plus external hub. Tested repeatedly. Fixed minor bug in pisensors (don't use button_press event if using touchscreen). Everything is working fine now, including Jarvis.

I also did a dry run setup in the living room and everything came up and runs fine. Everything is now packed and ready for the MakerFaire.

Code may not be pushed. Will leave this open in case there is code in pisensors that needs to be pushed (chromebook is packed). Will close after MakerFaire.

Also available in: Atom PDF