How to create a custom keyboard using Raspberry Pi? - Raspberry Pi Q&A, Help & Troubleshooting

Hi,
I want to create a custom keyboard using a Raspberry Pi. I have a very limited knowledge in Hardware and Electronics. But I know how to code in Java/Python/C/C++ very well.
The keyboard should be able to store every text file that I type into it. That is, it should have an internal storage. Additionally, it should be able to connect to any Android/iOS/Windows device like smartphone, tablet etc, so that all text content typed is shown in the required device in real time. All text typed should also provide real time audio feedback. As a trial I have created 2 prototypes where one is running on Raspberry Pi with internal storage with real time audio feedback. And another device which runs on Arduino Leonardo to connect to hand-held devices. But for the final product we need to create a single device with both features in built.
In summary, here are my requirements:
Audio feedback: Recites every word I type in real time through headphone jack.
Internal storage: The keyboard should have an internal storage slot to store what I type.
Portable: It should be easy and light to carry around.
Cost effective: It should use cost effective solutions/materials.
Plug-N-Play: Connect to any Android/iOS/Windows device like smartphone, tablet etc. and act as external keyboard.
Battery Life: The keyboard should have a reasonable battery life.
Questions:
Which model of the Raspberry Pi should I use to create the keyboard. It needs to be an most inexpensive model which can satisfy all the above requirements. Is it possible to use the Raspberry Pi Zero and then add any required modules?
We need a USB HID + Linux version that runs Python or any other distribution with text to speech. Currently, for a prototype, we are using Arduino Leonardo for USB HID and Raspberry Pi (B+ Model) for Text to Speech conversion (we are using Espeak at the moment).
I have a custom design for the keyboard but the ports of the raspberry pi don’t align with the custom design. What options do I have here? Example: Assume, I want the headphone jack to be on the side of the keyboard. But the headphone jack is placed at the bottom in the raspberry pi.
How to create the outer casing for the product? Again, I want to use only cost effective material, yet it should look as professional as possible.

Thanks!!!!!!!!!!!!!

johny_nikhil said:
Hi,
I want to create a custom keyboard using a Raspberry Pi. I have a very limited knowledge in Hardware and Electronics. But I know how to code in Java/Python/C/C++ very well.
The keyboard should be able to store every text file that I type into it. That is, it should have an internal storage. Additionally, it should be able to connect to any Android/iOS/Windows device like smartphone, tablet etc, so that all text content typed is shown in the required device in real time. All text typed should also provide real time audio feedback. As a trial I have created 2 prototypes where one is running on Raspberry Pi with internal storage with real time audio feedback. And another device which runs on Arduino Leonardo to connect to hand-held devices. But for the final product we need to create a single device with both features in built.
In summary, here are my requirements:
Audio feedback: Recites every word I type in real time through headphone jack.
Internal storage: The keyboard should have an internal storage slot to store what I type.
Portable: It should be easy and light to carry around.
Cost effective: It should use cost effective solutions/materials.
Plug-N-Play: Connect to any Android/iOS/Windows device like smartphone, tablet etc. and act as external keyboard.
Battery Life: The keyboard should have a reasonable battery life.
Questions:
Which model of the Raspberry Pi should I use to create the keyboard. It needs to be an most inexpensive model which can satisfy all the above requirements. Is it possible to use the Raspberry Pi Zero and then add any required modules?
I have a custom design for the keyboard but the ports of the raspberry pi don’t align with the custom design. What options do I have here? Example: Assume, I want the headphone jack to be on the side of the keyboard. But the headphone jack is placed at the bottom in the raspberry pi.
How to create the outer casing for the product? Again, I want to use only cost effective material, yet it should look as professional as possible.
Click to expand...
Click to collapse
Did u complete it.if yes plz ping me
---------- Post added at 04:51 AM ---------- Previous post was at 04:50 AM ----------
Plz ping me i want to know about your project

Related

dumping a code

Greetings everyone
I have worked on 8051(atmel), processor.
in those processors we need to dump codes using a dumper.
The question is how do we need to dump the code in the raspberry pi.
My project is to control a small bulb or an LED just to switch it on and off,
and if i need to do that wirelessly how do i do that. i mean if i give an input using my mobile(android) i want that light to be switched off.
P.S : i am using WI-FI.
Php?
Android app or web server -> php request -> MySQL -> c or python -> GPIO -> resistor -> transistor ?
That's one way to do it.
Sent from my iPad using Tapatalk HD
No vinodmadhu6, the CPU on the Raspberry Pi is nothing like the Atmel AVR chips, you can program using a range of modern programming languages.
I'd say Python would be a good way to go, especially if AVR has been your main experience of programming up until now, as it is an easier language to learn
An 8 bit 8051 it definitely isn't! It is a full 32 bit ARM processor capable of running various flavours of Linux.
It is possible to pull the voltages high and low on the pins on the header of the main board, referred to as the GPIO.
Have a read of this:-
http://elinux.org/RPi_Low-level_peripherals

Need help for merging python programs

I was doing my first raspberry pi electronic project. I choosed the adafruits Google docs logging project for a start. The project was a success and I obtained a complete output. My problem is , when I looked into the python program provided by adafruit (got it from github) it is calling other small programs. So I looked one of the called programs and it again calls other program.
I want to write a complete program that includes all the necessary things ie a stand alone version.
I want to write it in python 2. Also use a gpio pin 5. My model of pi is raspberry pi 2 model b.
I don't know whether I can include driver in my program. But if it is possible , I also want to include the driver too, please help me.

Windows 10 preview

Anyone gave this a try yet?
http://gizmodo.com/you-can-download..._source=gizmodo_twitter&utm_medium=socialflow
gsmyth said:
Anyone gave this a try yet?
http://gizmodo.com/you-can-download..._source=gizmodo_twitter&utm_medium=socialflow
Click to expand...
Click to collapse
Nope, have no use for it...
I've looked into interfacing with GPIO in C# but found it to be lacking in many ways, the most important being speed. It also appears to be impossible to repurpose pins with ALT functions which Microsoft have fixed to SPI/I2C etc- you can't use them as basic GPIO pins which makes it impossible to use Windows 10 with many, many Pi accessories. I have successfully tested I2C, however, and SPI to an LCD display is next on my list.
As for straight up GPIO twiddling, my litmus test was multiplexing a 7 segment, 4 digit display - not exactly an uncommon or complex activity. I couldn't get a stable timing resolution any smaller than 500 microseconds, and at this point you're plugging decimal numbers into DotNet's TimeSpan.FromMilliseconds and things are getting silly.
I'll have to try it with a straight up loop to see what overhead the threaded timer introduces, but right now Visual Studio is refusing to deploy code at all- probably because I've got a shoddy networking setup to bridge the Windows IOT ethernet-only connection to my PC.
One thing is abundantly clear; if you're not a DotNet/C# developer then it isn't for you.
It's Microsoft, just saying.
gsmyth said:
Anyone gave this a try yet?
http://gizmodo.com/you-can-download..._source=gizmodo_twitter&utm_medium=socialflow
Click to expand...
Click to collapse
It is just for developers. No desktop only app testing. Total waste of time.
gsmyth said:
Anyone gave this a try yet?
I'm also interested in finding out. Haven't tried it myself yet.
Anyone got it running?
How does it compare to 8.1?
Click to expand...
Click to collapse
@wodeh: what do you recommend to use in place of Windows 10 ? How does it compare to linux+python (with RPi-gpio) ?
I never used my RPi for this kind of things, I'm just curious.
@davcri91 it depends what you're familiar with- if you already know C#, use Windows and are familiar with Visual Studio then it will certainly get you off to a good start. Right now, though, support for Pi add-ons in Windows 10 is going to be all but non-existent so it's not the best all-round experience.
Raspbian, the official OS, grants you much more flexibility- you can choose to use Python, Ruby, Node JS, PHP, C, Go or really whatever you fancy. All the current documentation and software support is focussed on this OS, so Pi add-ons- especially more complicated things like our Unicorn HAT or the Pi DAC+- will work.
As for performance, I've yet to try a better test since I couldn't get Visual Studio to upload code to my Pi anymore and didn't want to waste any more time with it. My initial experimentation suggested that C# is tremendously slow at toggling an IO pin though, I couldn't even reasonably multiplex a 4-digit, 7-segment display whereas in Raspbian I can clock out serial data to a 128x64 pixel LCD at 200FPS.
Someone with a more recent working knowledge of C# ( mine is about 10 years out of date ) could probably do somewhat better... I'd hope.
The GUI "Universal App" stuff seems to be a talking point for Windows IoT but this has absolutely no utility in any setup that doesn't have a screen. My preferred setup for Raspberry Pi UIs is HTML/CSS with a RESTful or Web Sockets API- that way I can use my phone, my laptop, or whatever screen/device is handy.
So to summarise:
Windows IoT:
* Targeted at existing C# developers
* Dev-environment with step debugging and all the trimmings
* GUI framework... I think... for better or worse
* Slow to build and deploy
* Slow IO, it seems
* Impossible to use pins reserved for I2C/SPI as general purpose IO, breaking any add-ons that rely on this
Raspbian:
* Complete and total free for all- could probably even use C# with Mono
* Whatever Dev environment you can cobble together.. it'll probably be Sublime Text on your computer plus SCP or VIM/NANO/IDLE
* No standard framework for doing anything, which is a shame- there needs to be an official stance + docs on App/Game dev for the Pi
* You can just run Interactive Python and toggle GPIO pins on and off instantly with commands- fast deployment/test/fail cycle since you're already *on* the device
* IO pins will toggle at 20 Megahertz using C, although the resulting signal will be useless mush
* You can re-assign IO pins as you see fit- SPI and I2C can be regular GPIO, and you can use ALT functions to move some things around
This is a totally top-of-my-head summary of the strengths/weaknesses of each. It's an apples to oranges comparison, though!
You made a really great post, thank you wodeh
For now I think I'll stick to linux because I'm used to Python.

Can I simulate mouse input?

Is it possible to simulate a mouse in Android? Essentially do a software mouse, is what I mean. I have a special Bluetooth device and I'd like to know if it's possible to make an app that could use input from that device and then move and act as a mouse on screen. If it is possible, where would I start as someone who isn't new to programming in Java, but is pretty much new to Android programming?
You may create new MotionEvent instances and dispatch them on the target view with View.dispatchGenericMotionEvent
But playing with these kind of events can be tricky, you need to generate events the same way the system would do it, if you don't you may have unpredictable behaviors

Communicate with Microcontroller through TCP/IP

I am trying to figure out how I can light an LED with my NodeMCU V2 via the use of WiFi and a phone application I create via Android Studio but I don't know where to start nor can I find any information on how I can do it, I've seen tutorials where they make me use their 3rd party tools to achieve this and I've seen it done on a web server but I'd like it to be on a phone application. Is there any way this can be done? Bluetooth is not an option because I want it to be accessed from anywhere as I plan to port-forward the IP in the future.
This is a very interesting idea. I do not have a specific answer. I did some programming of 68HC11 about 20 years ago. The chip was mounted on a system board and connected to my desktop computer using a serial cable. I would develop the program on the desktop then download to the `11 over the serial cable. There was a small program in the `11 that would receive the program and load it into the `11 memory.
Structurally you need similar components: a software development system that run in your phone [a small Android Studio], an electronic communication link [Bluetooth, http, whatever], a system board, and software in the system board to receive commands and a data stream from the phone and load the stream of machine language into the 68HC11.
I still have the system board: CME11E9-EVBU AXM-0199 REV.C Axiom Manufacturing. For more info do a Google search for that ID, or just click here...
https://canada.newark.com/axiom/cme-11e9-evbu-ed/spi-sci-rs232-lcd-dev-board/dp/13C2791
I am not familiar with what is going on in that section of technology these days, but much of what you need should be available and findable. If such a system does not yet exist then it is a business opportunity waiting for someone like yourself.
All the best to you

Categories

Resources