Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/rayps/wifi-keyboard
A remote control usb keyboard http server device based on ESP8266 & CH9328
https://github.com/rayps/wifi-keyboard
ch9328 esp8266 keyboard pcb usb-hid
Last synced: 13 days ago
JSON representation
A remote control usb keyboard http server device based on ESP8266 & CH9328
- Host: GitHub
- URL: https://github.com/rayps/wifi-keyboard
- Owner: RayPS
- Created: 2021-09-19T07:02:32.000Z (over 3 years ago)
- Default Branch: master
- Last Pushed: 2021-09-19T07:02:37.000Z (over 3 years ago)
- Last Synced: 2024-11-20T09:26:50.738Z (3 months ago)
- Topics: ch9328, esp8266, keyboard, pcb, usb-hid
- Language: C++
- Homepage:
- Size: 1.87 MB
- Stars: 5
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# WiFi-Keyboard
A remote control usb keyboard http server device based on ESP8266 & CH9328![](PCB/photo.jpg)
## Schematics
![](Schematics/schematic.png)
## PCB
![](PCB/pcb_screenshot.png)
## Development
(An UART adapter with `DTR` & `RTS` port is required)
1. Open this project in PlatformIO
2. Connect the device to your computer using an UART adapter
3. Build and upload to the device#### Connections
| UART Adapter | This Device |
| - | - |
| 3V3 | 3V3 |
| GND | GND |
| RX | TX |
| TX | RX |
| RTS | RST |
| DTR | IO0 |## Usage
1. Plug the device to the host machine
2. Connect to the device WiFi named `Keyboard`, a config portal should appear
3. Choose to connect the same WiFi as your client machine network
4. Open [http://keyboard.local/](http://keyboard.local/)#### Use as HTTP API
```bash
curl -X "POST" "http://keyboard.local/" \
-H 'Content-Type: application/json; charset=utf-8' \
-d $'{"input": "HelloWorld"}'
```
or`POST http://keyboard.local/?input=helloworld`
#### Notes
At the current stage of development, only printable characters are supported.To support other keys I will need to make something like DuckyScript Parser.
But that's beyond the purpose of this project, the goal of this project is for game consoles such as Nintendo Switch/Playstation/Xbox etc.
## LED status
| LED | Status |
| - | - |
| Blinking | No network is connected |
| Light | Successfully connected to a network and MDNS is initialized |
| Dark after blink | Successfully connected to a network but MDNS failed |