-
Notifications
You must be signed in to change notification settings - Fork 2
Home
Hippie Hacker edited this page Nov 2, 2015
·
9 revisions
Welcome to the iikeyboard wiki!
Download and flash the device with the latest image (we tested 2.1)
unzip ../edison-iotdk-image-280915.zip
./flashall.sh
# plug in the edison
Serial login:
sudo screen /dev/ttyUSB0 115200
configure_edison --setup
# connect to wifi so we can update and download software
cat <<EOF > /etc/opkg/base-feeds.conf
src/gz all http://repo.opkg.net/edison/repo/all
src/gz edison http://repo.opkg.net/edison/repo/edison
src/gz core2-32 http://repo.opkg.net/edison/repo/core2-32
EOF
opkg update
opkg install python-pip
opkg install bluez5-obex bluez5-dev bluez5-testtools bluez-hcidump
cp /etc/bluetooth/main.conf /etc/bluetooth/main.conf.bak
cat <<EOF > /etc/bluetooth/main.conf
[General]
Name='iigadget'
DeviceID = usb:1209:CAFE:0002
EOF
wpa_cli -i wlan0 remove_network all
wpa_cli save
systemctl enable connman
systemctl start connman
connmanctl enable wifi
connmanctl scan wifi
Now find your network via the scan:
root@edison:~# connmanctl services
*AO CTRLH wifi_784b87a1cee2_4354524c48_managed_psk
PDXDIY wifi_784b87a1cee2_504458444959_managed_psk
PDXDIY-5G wifi_784b87a1cee2_5044584449592d3547_managed_psk
Use the wifi_XXX_YYY_managed_psk
string for your network and drop it into /var/lib/connman/foo.config
cat <<EOF > /var/lib/connman/ctrlh.config
[service_wifi_784b87a1cee2_4354524c48_managed_psk]
Type = wifi
Security = wpa2
Name = CTRLH
Passphrase = 3216549870
EOF
connmanctl enable bluetooth
curl https://bootstrap.pypa.io/ez_setup.py | python
pip install ipython #for debugging
pip install evdev
pip install PyBlueZ
pip install dbus-python
We need to run bluetoothd with --noplugin=input so we can grab the interrupt.
# Copy bluetooth service into etc so we can modify it
cp /lib/systemd/system/bluetooth.service /etc/systemd/system
sed -i -e 's:bluetoothd:bluetoothd --noplugin=input:' /etc/systemd/system/bluetooth.service
systemctl disable bluetooth
systemctl enable bluetooth
systemctl daemon-reload
systemctl restart bluetooth
systemctl status Bluetooth
● bluetooth.service - Bluetooth service
Loaded: loaded (/etc/systemd/system/bluetooth.service; enabled)
Active: active (running) since Thu 2015-04-23 17:15:27 PDT; 11s ago
Docs: man:bluetoothd
Main PID: 10793 (bluetoothd)
Status: "Running"
CGroup: /system.slice/bluetooth.service
└─10793 /usr/lib/bluez5/bluetooth/bluetoothd --noplugin=input
opkg install git
git clone https://github.com/hh/btk.git
cd btk
ls
git branch -a
git checkout kb_pin_entry
python agent.py
bg
cat <<EOF > /etc/systemd/system/btk.service
[Unit]
Description=keyboard service
Requires=bluetooth
[Service]
ExecStart=/home/root/btk.sh
[Install]
WantedBy=multi-user.target
EOF
cat <<EOF > /home/root/btk.sh
#!/bin/sh
cd /home/root/btk
python agent.py
EOF
chmod +x /home/root/btk.sh