Forum Replies Created
Great to hear. Growing the team is vital to making BeeChat have a large impact. I’m not a great programmer, but I have a vision, the more people we are in the team the better.
In relation to social media, so far we have:
I agree with using Instagram and Facebook as well. I’m sure we can find creative ways to spread the word on chans as well, where there are tons of devs that would be interested.
I’m more than willing on making you a mod/admin but would like to get to know you first, it would be good to have a chat about this over voice call. Feel free to send me a message on TOX, here is my tox ID:
https://qtox.github.io/ (download link in case you don’t have tox)
The user’s dongle already acts as a repeater. The default configuration for any XBee module is to act as the coordinator, or in XCTU settings “Form network”. There can only be one coordinator per network and channel. Of course, there can be two networks on the same channel separated geographically and with also separate coordinators because they are not within reach of each other. Other XBee devices will act as Routers or “Join network” in XCTU, which means they are effectively repeaters but can also send and receive information.
Above is an example of a simple ZigBee network.
I do agree with securing funding for development in order to make this widespread, but to do that we need to be more than a single developer. Hopefully you want to join and become part of the team, and if we could grow it even more, that would be great. Do you have some ideas on how to grow the dev team?
I also tried spreading the word on as many places as I could (/g/, /pol/, lainchan, reddit ham and ama subreddits), which did get somewhere, or else this forum would be empty. But if you can help me in further spreading this, I am sure you can do it even better since you are less biased than me about how great BeeChat is 🙂
Regarding the YouTube channel, what kind of videos would be good to post on there in your opinion?
BeeChat is my main priority right now, I would love for it to be in widespread use before we are forced to give up even more of our liberties.
I do see the point with Python, the issue is I can’t code in Python myself. In terms of speed, Java is faster than Python as it is a compiled language. It takes less time to execute a code. Python is an interpreted language and it determines the type of data at run time which makes it slower comparatively. If someone wants to port it to Python, I’d be glad to help.
On the other hand, some parts of BeeChat can and should definitely be in Python. In fact, XBee model 3’s have MicroPython embedded support. https://www.digi.com/resources/documentation/digidocs/PDFs/90002219.pdf
This allows the user to run python code directly on the XBee device, and could be used for some functions of BeeChat. The thing is that relay devices don’t need to run BeeChat themselves since they have nothing to decrypt, just re-route. Maybe you find some purpose to the micropython functionality?
Also, could you clarify what “repeater case” and “3D model” means?
My idea was to make a weatherproof (rain proof mainly) case where a BeeChat dongle would fit, as well as a battery, and charge controller. On the outer part of the case there would be a solar panel of 5 Watts or so. The purpose of this device, which should cost around USD 50-80, would be to act as a node that could be left on top of a tree or somewhere people don’t really see it, but would extend the range of the local BeeChat network. Essentially a tiny, solar-powered repeater. The 3D model part is simply design that can be easily 3D printed with, you guessed it, a 3D printer.
Regarding the mobile device, what you saidis exactly what was on my mind as well. I think even better than one of those old phones would be to use something like the ZeroPhone. https://wiki.zerophone.org/index.php/Sourcing_ZeroPhone_parts It is a Raspberry Pi Zero-based phone with ARM Linux on it. Which means BeeChat is 100% compatible. My vision for the device was a highly rugged Linux portable computer that has BeeChat by default, which would make it similar to a walkie talkie but data based instead of voice based (with mesh network capability).
dedicated e-mail server/protocol
I think this will be possible once we build the TCP/IP protocol Rik (the original poster of this topic) on top of BeeChat.
The reason I developed BeeChat is to have an open-source communications infrastructure, that no one or nothing can shut down. It is an evolution of ham radio, as it is completely wireless, does not require a license and is based on data (instead of mostly voice).
This is the roadmap I had in mind:
- April: Release of software alpha
- May-June: Barter channel + makefile separate from MainApp.java
- June-July: Release of BeeChat repeater case and 3D model: Solar, home and car version
- July-September: Release of Graphical User Interface
- September: Release of dedicated BeeChat mobile device
I am very glad to hear that you share my vision with this project.
To answer your previous question on cheap modules, I posted XBee model 3’s in the parts list but BeeChat works perfectly fine with the older model 2’s which are around half the price all things considered. Nice thing about it is they come with a pre-built antenna (making it cheaper), this also means they’re only useful for a smaller range than the newer models. This is the same setup I used for creating BeeChat before I got XBee model 3’s.
- Here is a link of the model 2’s:
- To make this work you’ll need two of those and two Sparkfun dongles as well:
I assume since you are ordering everything from Digikey deliveries will be as cheap as possible.
Regarding help with development, I think it would be great if we can narrow down an area of focus in BeeChat. What do you think would be vital in this alternate backbone?
The first question I should ask is what functionality are you looking to use BeeChat for?
If you still have problems, please let me know, I will try and help you as much as I can.
Here is my qTox ID in case you want to get in touch with me through instant messaging:
https://qtox.github.io/ (download link)
–“Command prompt”-style internet browsing
This concept would work like this: User A sends user B a text message over BeeChat. User B has his BeeChat module connected to a machine that is running a program and monitoring the incoming text, looking for keywords. Example functionality: User A sends the message “show options”. User B script scans the text, and his Java program returns the text associated with “show options”. In this case, lets say its recipes. User A is sent a text list of different types of recipes (breakfast, lunch, dessert). By simply sending a corresponding number (1 for breakfast, etc), another list will be sent. With this functionality, some simple websites that contain information can be implemented into this program, and allow BeeChat to serve a database of information. The commands used to access such databases would need to become ubiquitous, so that users around the world can program the information they offer with some degree of universality.
That is a fantastic idea Robert. Gandalf and I were discussing something quite similar but for a bartering platform. It would work quite similarly, I like the concept of using that for other types of information. I guess the next step with this concept would be prioritizing what would be the most important “script” to make first?
Regarding BeeChat as a whole, I am waiting for people to test out the software to know which bugs people are having to fix them in v.0.2.
–“True internet” browsing
Thinking of the previous idea brought me to this one. Say, there are places in Africa where radio antennas reach, but it is not possible to implement internet infrastructure. Could a custom program be written, so that a person who only has access to radio uses the BeeChat module, and writes a text message. That message is passed along by relays until it reaches a “true internet provider”. This machine would take the BeeChat text request, say, “google speed of sound”. This machine, which has access to “true internet”, automatically handles the request, converts the result back into radio waves with BeeChat, and the result is sent to the user in the area where only radio waves reach. Of course, this functionality would be limited at first, as only pre-approved simple actions would be limited. This functionality would help both people in poor areas by giving them some form of internet access, as well as people living “off-grid” who want some internet functionality, but don’t want the internet infrastructure near their home.
That was definitely mentioned elsewhere, on some posts I forget where, several people have mentioned this idea of “beaming” internet to a disconnected machine. Implementing this into BeeChat wouldn’t be too difficult either, one such implementation could be as follows:
Nodes in channel: Node A (coordinator), Node B, Node C (out of reach from Node A, connected through Node B)
Dependencies: ddgr (DuckDuckGo from command line https://github.com/jarun/ddgr)
1. Whenever Node A is connected to the internet, through some kind of background script, it will send a cryptographically signed message saying it has Internet to all Nodes in the network. This way, Nodes know which Node has internet and which one doesn’t.
2. Node C user types into the BeeChat commands: “search “speed of sound wikipedia””, and sends the request to the closest node with internet.
3. Node A receives the request, and passes the request into the ddgr utility stdouting it into a file. Node C waits.
4. Node A sends the file to Node B, and eventually reaches Node C (contents encrypted so only Node C can see its contents).
5. Node C decrypts the file and the response is displayed on screen.
I am almost certain you are having an issue with permissions within the folder. It’s likely you do not have permissions to read/write in the folder thus BeeChat cannot create files or folders through bash utilities.
Sure thing. Do you think it’s worth mentioning in the front page? You are right, maybe it should be mentioned somewhere.
Great to hear. In case you run into any more trouble please let me know and we’ll try to figure it out together. I hope you can get it fully running!
In that case, try changing the node IDs through XCTU, it should work through that. Thank you for letting me know about that bug, I will add it to improvements for version 0.2.
EDIT FROM MY PREVIOUS POST:
I earlier said only one device in the network could act as “Join network”, I got it mixed up, sorry for that. That’s not the case. Up to 65,000 devices can join a network, however there can only be ONE “Form network”, that is, the coordinator. Wanted to mention it in case you changed both devices to “Join network”. One of them MUST create the network! Again, let me know if you run into some issues I am more than happy to help.
- This reply was modified 6 days, 6 hours ago by 3iWEvuKEag.
For setting up a relay, that is, a mid-point device that acts only as a range extender, you do not need any raspberry pi. You only need the dongle, an antenna, and a source of USB power, since the dongles automatically route data from a firmware level.
A computer is only needed to decipher the information, which means you would only need a raspberry pi or computer at the sender and receiver devices. This also means that a bridge device is much cheaper than a dedicated device.
BeeChat works with Debian-based systems for now. That’s what I coded it in at least. Any particular reason for using those OSs for BeeChat?
PAN ID is the channel, this means all nodes must be on the same PAN ID to be able to “hear” each other.
Only one XBee per channel may act as “Form network” this is called the network coordinator.
To fix the problem you are describing you must set a NodeID for the XBee modules, this can be done by plugging them in, and typing “changeid”. This will allow you to change the name of your XBee module. Let me know if it works!
- This reply was modified 6 days, 6 hours ago by 3iWEvuKEag. Reason: Changed "Join network" to "Form network"