-
Notifications
You must be signed in to change notification settings - Fork 190
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Use the terminal example as an actual terminal #12
Comments
Yes, a lot of those things are planned for the future ;) First of all, to test how it looks with real terminal input, just run Running ssh directly on the ESP is a sweet idea as well, maybe I'll come around to trying it at some point... |
If you want to use the terminal, it seems like the ED097TC2 is better suited. At least it seems drawing in white is way less consistent with the ED097OC4 than with the ED097TC2... Also, exact line skipping seems to be trickier. |
@vroland any hints on where to get the TC2 variant? AliExpress isn't selling them. |
@sebastius Sometimes you just have to ask them ;) Most of them are fairly responsive. This seller for example (https://www.aliexpress.com/item/443254687.html?spm=a2g0s.9042311.0.0.4c004c4dcwgOeF) has them and there is a picture of the TC2 in the reviews section. However, they seem to have raised the pice since my order :O |
Any idea how to connect keyboard to the board and which libs to use? |
I thought of these mini USB host shields: http://www.shop.tkjelectronics.dk/product_info.php?products_id=45 (various derivates are available on AliExpress). There is a library with a HID keyboard example. |
Furthermore, implementing the Kitty Graphics protocol (https://sw.kovidgoyal.net/kitty/graphics-protocol.html) could be very nice for viewing the occasional PDF document, etc... Well, at least I won't get bored ;) |
This part is not clear to me ? How are you doing this ? a picture might help me |
I don't have a picture right now, but the ESP allows to set up another serial connection and use basically any pins you give it. So you just have to connect two of the pins of the pin header (e.g. gpio 13 and 14) to a USB to UART adapter. That could be one of those cheap programmers for the esp8266. |
This ability is already in the terminal example on gpio13 and 14? |
The serial pins are defined in epdiy/examples/terminal/main/main.c Line 23 in 9f49923
In a real application, you should change those definitions and comment epdiy/examples/terminal/main/main.c Line 89 in 9f49923
|
Currently I have a Raspberry Pi 3 and the V4 board flashed with terminal example connected to USB port I have to run then start a terminal connection and kill it to have a actual interactive terminal sudo screen /dev/ttyUSB0 115200 |
That's one way ;) |
Ok, now i understand better I need to change the code to suit the usage of connecting to Pi Serial console via GPIO i had it hooked up but it was not configured yet in the code |
Ok, now the serial console is output onto e-Ppaer I can attach console via SSH running "script -f /dev/ttyS0" But how to get a USB keyboard working from the Raspberry Pi ? or a i2c or ps/2 keyboard via the ESP32 Here i made a CardKB USB with |
Personally, I made a board to use thinkpad keyboards and make them output SPI to the ESP: https://git.vroland.de/vroland/epd-laptop/src/branch/master |
Ok, so I have now both working Ok now, thank you for your help @vroland V4 EPDIY with a Raspberry Pi 3A local USB keyboard (120x38) (already posted picture above) and LilyGo 4.7 with a Raspberry Pi Zero W local USB keyboard (95x25) Both the Pi Zero and Pi 3A can be swapped, Pi 4 still have a issue to resolve In the furture i will look at the hi res 6 inch e-paper and V5 board |
Hi Mark! I recently bought Liligo 4.7 from aliexpress. I want to use this as a terminal for my ESP 32 or Raspberry Pi. I found a great code example on the vroland github (thank you, Valentin!)! But I got a very pale image. And instead of black characters, you get gray characters and small ones. I changed .regular = & Firacode, to &Firacode_Bold, and instead of unsigned int default bg = 7; set the value to 255. This action has improved the display, but the text is still small. In your photo, the text is easy to read, but I don't. I tried replacing the font files .regular = &Firecode, with .regular = &FiraSans12, (I took it from another example). But I get an infinite reload loop after executing listened.....I ask you to share your solution . Maybe you will post your successful terminal launch on github. or send me a hint or a code. I am very grateful for your work, [email protected] |
Hi, I can certainly help with the too light print as @vroland helped me with this particular issue also We added more calls to the command that draws to the e-paper examples/terminal/main/st.c Add 4 more to the existing line 5 calls Line 3118 You can play with the amount of calls to make the print clearer/darker but your e-paper will get more dirty quicker I'm still busy tweaking my 3 prototypes 4.7, hi-res 6 and 9.7 inch terminal |
Thank you for taking the time to respond. How do I increase the font size? The config file.h line 21 . I change .regular = & FiraCode, to .regular = &OpenSans12, and add the line #include "opensans12. h" too. But I get an endless cycle of reboots. |
@astranome Do you get a backtrace with the reboots? What do they say? For example, you may need to increase the flash partition size to store the larger fonts and the boot message would tell you that. |
I get boot messages from the device. In contrast to the successful program boot (without infinite restarts), I get the message: 0x400857a8: spi_flash_op_block_func at C:/Users/Admin/Desktop/esp-idf-3/componen |
Infinite reboots: I (2353) term: listening ets Jul 29 2019 12:21:46 rst:0xc (SW_CPU_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT) |
Hm, the crash seems to occur in the driver code, so it's not the partition size. Which chip revision are you using? |
@astranome I get precisely the same error, did you figure it out in the end?:
It dies on this line for me 😭 . Perhaps it's running out of memory?
Although I'm not sure what can be removed. It's an Espressif ESP32-WROVER-E with 16mb |
Hm, that could indeed be an out of memory. Maybe try to reduce the columns and lines in the config: |
Ah! Yes that does work actually, but has to be reduced drastically.. like as in unsigned int cols = 40;
unsigned int rows = 20; I wonder which parts of the software are so large? But yeah, here's the full output:
|
Hm, maybe the arduino framework consumes a lot of memory? Did you try using the IDF directly? You can also configure platformio to use the esp-idf instead of the arduino framework, afaik. |
I'm also working with the Lilygo T5 4.7 display w/ the ESP32 controller. I know that there's ssh libs for the esp32, and I'd love to get something going with the terminal emulation on the ESP32 through the EPDIY library and the ssh library to get a functional SSH client working... I'm envious of you guys! Such good work! :) |
Yes, that should work. I actually have something similar running. Btw, for this setup you won't even need to step up the battery voltage to 5V, the Pi 0 actually runs fine with ~3.7V, as long as you don't need USB devices that require 5V. |
Wow @vroland, that's fantastic news! I'm still waiting for my T5 4.7" display (supply chain delays and all), so I'm just dreaming here, but this is what I'd like to get working. I want to use your library to power a normal low-power news/email/reddit caching/reading app using the ESP32, with the option to turn on the Pi Zero if I want/need to use linux or ssh somewhere or do some real work. I plan on having both controllers (ESP32 and Pi Zero) housed in the same enclosure (I'll just 3D print myself a case if it's too bulky), but having the option to have a powered-off real computer (the Pi Zero) in the same case to me is a real plus. Personally, I'd love to use micropython on the ESP32 to power the display (for easier feed/email/reddit pulling/parsing/filtering), but your library with the fast refreshes and the terminal emulation built-in is just too sweet to turn down! :) I expect that you'll have a lot more people wanting support with this display since Aliexpress.com is really pushing these displays and touchscreens. I got mine for $50 (with touchscreen) and I'd like to have more control over the device than the m5paper device. Thanks for all of the hard work on this library! I can't wait for my device to arrive so I can dive in! :) |
@scumola Keep us posted on your project. Myself and others are working on the very same concept. |
I did this with the LilyGo4.7 and had to set a delay in config.txt too avoid the GPIO 12 (high on boot issue) Raspberry Pi ZERO |
Do I understand it correctly this Lillygo display is a one-piece solution and it only needs a firmware? Would you please explain me how to accomplish it? I'd like to have a dumb terminal, which lets me interact with my SBC purely over UART. Thank You very much! |
@extrowerk Correct. The Lillygo devices have a programmable ESP microcontroller which can be programmed to parse and display the serial data |
@entozoon : thanks for the input. LEt me clarify: I'd like to make a dump-terminal for my SBC running openBSD instead of Linux. Eg. I cannot use those displays which gets connected to 40 pin GPIO because they using linux blackmagic, which i can't reproduce on OpenBSD. Therefore I'am looking for a solution which can act as a standalone terminal, and the communication happens via pure UART. On the photo from @markbirss it seems the Lillygo display connected to the UART ports of the Rpi Zero like SBC, but I1d liek to make sure this solution would work before I give out my precious money. Thank You very much for your help and support! |
It worked at the time i posted with some modifications. Note that you actually also have to modify your BSD OS getty output options set stty output options and run the screen utility to print the serial console to the lilygo display |
I plan to do a headless setup (eg. no display attached over HDMI) with the console directed to the UART pins. I think the screen command is not necessary in this case, but correct me if I am wrong. Thanks! |
I had great fun already using the Serial Terminal example, and with a bit of foolishness i added a second USB serial to route my PC keyboard from one terminal into the e-ink terminal session (by connecting the second USB-Serial TX line to the RX of the CH330). One problem arose when trying to update the board: the second usb-serial causes the communication to fail.
I'd like to have a proper input method on the ESP32. Could be as simple as just using a second serial port (they can be routed to any GPIO) and then pushing them towards the regular serial output. That will also allow some control options, like the classical terminals used to have. Alternatively a PS2 port, Bluetooth host or USB host could also work. I don't think we have the GPIOs left for a full keyboard matrix (i think you'd need about 20 GPIOs to do it).
Any thoughts on what you'd like to do in terms of input devices? We could make the expansion header a bit more useful by adding in as much of the GPIOs as we can.
(besides this hardware/software upgrade the terminal code would need a pretty decent upgrade too, to get to 80columns width, work with a cursor, stuff like VIM would be useful to have. But the first tests were really pleasing!)
Heck at some point i'd love to see the ESP32 do an SSH into my desktop :P (or maybe use a seperate ESP32 for that, so the current chip can focus on being a terminal).
SSH on ESP32: https://github.com/ewpa/LibSSH-ESP32
The text was updated successfully, but these errors were encountered: