Replies: 22 comments 51 replies
-
That particular switch is intended for allowing the use of Bluetooth as a transport itself. But it will also be possible to connect to an RNode over Bluetooth, for exactly the purposes you mention. Implementing it over USB first was simply the most direct way to at least enable people to use RNodes in Android with relative ease :) But Bluetooth <-> RNode support is most definitely on the roadmap. I will move this to the discussion pages. |
Beta Was this translation helpful? Give feedback.
-
Hello all, I could help with the development of the Bluetooth connection. I have just modified the RNode firmware and defined a new interface type "RNodeBTInterface" in Reticlum. I still need to improve the code a bit etc. With a simple #define in the RNode firmware you can now use either serial or bluetooth. That was the minimum adjustment. I could of course change it so that both can be used at the same time or something. |
Beta Was this translation helpful? Give feedback.
-
If anyone is interested in my current work here are a few links. It is of course still in very early dev status. And not finished to make a pull request or somthing. https://github.com/SebastianObi/Reticulum |
Beta Was this translation helpful? Give feedback.
-
The problem with Android is fixed. I am really close to finish everything as first beta test for this bluetooth connection :) |
Beta Was this translation helpful? Give feedback.
-
Hi Everyone While I understand the eagerness to get this up and running, I would appreciate it if everyone can take a step back and look at the overall picture here, before more time and effort is spent in this direction. Before starting work on such an integral feature as this, it would have been a great idea to discuss this with the maintainer of all of the software, yours truly ;) In that case we could have coordinated the efforts much better, and you would have had an idea of the expectations to the implementation beforehand. While I have no doubts that the implementation of Bluetooth connectivity you have put together actually works, it is also a quick hack, and not a well-considered solution to the overall problem of Bluetooth/wireless connectivity. I really, really don't say this to degrade your efforts or work, and hope you wont take it as such. But doing things fast instead of right always leads to misery down the line in software and hardware projects. I have spent a lot of time carefully planning and considering how to properly implement wireless (both Bluetooth and WiFi) connectivity between RNodes and hosts, and while I know it is with the best intentions, your implementation ploughs right through that to simply implement the something that "just works right now", as easily and quickly as possible. In its current form, I will not be able to accept pull requests for this into neither Reticulum, nor the RNode firmware or related config tools, for the following reasons:
As a quick hack to test out Bluetooth functionality, it is totally great and probably enough to try it out, and "see it working", but at this point, we just can't put this into RNS and Sideband. As it stands now, it has a long way to go. Implementing this funcionality has been on the roadmap for a long time, and I can definitely understand the excitement to get it working. While I am also really eager for this functionality myself, we need to do it right the first time. |
Beta Was this translation helpful? Give feedback.
-
This customization is of course to be understood as an experimental test version. This is also created very spontaneously to see that it is theoretically possible to realize bluetooth connectivity. The code is still far from being ready and functional. I wanted to give a hint how this could possibly be implemented. In some places I just applied some hacks to make it work. It still needs to be properly thought out and executed. I also can not say whether this works reasonably. A little test with a few messages had at least apparently worked without noticeable problems. How that behaves now in detail in different scenarios, of course, no one can say. Even with a larger amount of data or how error-free the connection is in general. The firmware is also very provisionally adapted. It should not be a version with only bluetooth, but universally compatible. To bring this into a status which is no longer considered as experiemntel and can also be published is still a lot of work necessary. That is also clear to me. It should not be taken over by you now. |
Beta Was this translation helpful? Give feedback.
-
I agree with your comments. Since this was very spontaneous I have not thought about how to implement. It should be enough for a simple demonstration. The handling of the firmware, paring and configuration is not practical for live operation. |
Beta Was this translation helpful? Give feedback.
-
I see that I read over everything a little too quickly, and was not aware that there was two different forks/brances, so I missed parts of the code, and it looked very strange to me ;)
Yes, again I realise that I probably misunderstood the intention here since I looked at it too superficially. I had understood it as if you felt this was near ready for general release and incorporation into RNode, Reticulum and Sideband master branches. I see now that this should more be viewed as an experimental proof-of-concept implementation, that demontstrates that this functionality is feasible and can work well in the real world. Is that correct? |
Beta Was this translation helpful? Give feedback.
-
With the forks it has become very confusing. Everyone has been tinkering with it a bit :) This code was created within one day. Accordingly, only very rudimentary and temporarily brought to function. The goal is to bring your development further forward and to expand the range of functions. Therefore it is quite ok for a code to inspire the feasibility and help starting with the bluetooth functionality. I learned later that under linux you can use rfcomm directly with the existing serial interface in reticulum. I will delete this unneccessary interface. Only an adaptation of reticulum for android is necessary. The idea to define an additional interface type here was: it is easier to make specific adjustments for the bluetooth handling without having a negative impact on the already working interface. In addition, 2 RNodes could then be connected in parallel (USB + Bluetooth). Perhaps this could be developed further in a test branch. Then the user could decide if he wants to use the stable version or the test version. |
Beta Was this translation helpful? Give feedback.
-
The plan is definitely to integrate the bluetooth and serial connection into one firmware and then switch between serial and bluetooth by setting via rnoceconf/sideband. Also the pairing mechanism could be done via rnodeconf and stored in the eeprom. Not every board has a display or button. Of course, I have many more ideas. |
Beta Was this translation helpful? Give feedback.
-
In general, we would like to establish the software in Germany as an emergency communication network. In the near future we want to look for investors who could support the development financially. Thereby we would like to have a few more small functions of the software to show them. (This does not have to be implemented optimally). If support is then found, the development can also go faster and better. The biggest challenge is first of all to have a product that generates interest when it is presented. The following 3 functions would be the most important for us: Bluetooth connection, group message/roadcast and the migration of the page browser function from Nomadnet to Sideband. |
Beta Was this translation helpful? Give feedback.
-
@SebastianObi
Aaah, what? Let me get this straight. You are going to take someone elses software and hardware ecosystem, that you have made practically zero contributions to, and present that to "investors" as if it was your own innovation, so that you can raise money for your own purposes? You are telling me that you literally need certain features implemented in Sideband and Reticulum as quickly as possible, so you can use it as investor-bait to profit off of my work? And you guys did not consider having a discussion with me about this first? No wonder you and the other FDG guys have been so incredibly pushy about getting all these features implemented. It was about the money all along, wasn't it? What was the plan here, just rake in some money and move on? Fucking pathetic. I'd have you know that I spent eight years designing, builiding and implementing this entire ecosystem out of my own time and pocket. To protect the universality, accountability and neutrality of Reticulum as a human-oriented technology, for all that time I have refused to seek or accept venture capital, politically based funding or any other external resources that might have biased the project in any certain direction. Before I just say that I am fucking apalled by your conduit and move on, I am going to let you answer for this yourself. |
Beta Was this translation helpful? Give feedback.
-
And just so that we are absolutely clear here: In absolutely no way, shape or form do I condone or stand behind you including demonstrations of Sideband, Reticulum, Nomad Network or any related technology in any form of presentation to investors, funds or similar, whether in person, in written form, or even enacted as a pantomime. If you have already carried out applications for funds that in any way included the names of anything Related to the Reticulum project, I need to know this, and would absolutely appreciate that you come forward with it now. |
Beta Was this translation helpful? Give feedback.
-
Sorry Mark for the inconvenience and off-topic comment. I just wanted to mention in general that we would like to use your software. Where the copyright etc will all be respected. It is not the intention to copy/steal your work in any form and pass it off as our work or anything. We really appreciate your many years of work. It will also always be clear that you are he author. Also nothing shall be commercialized, sold or distributed in any other way. Everything will remain OpenSource according to your licenses and always free of charge. It is not about making money in any way. Since your software is rather unknown at the moment we would like to make this known. This includes finding interested developers or other people who are willing to support. And this also by donating money etc. for you and other developers. You write everywhere that people can support you with donations. We would like to do this. Unfortunately, we simply do not have the financial resources to do so. That's why it would make sense to look for interested people who would like to support your software and our network with it. We would like to bring it as fast as possible from a pure test phase, into an alternative to the free communication used by active users, in order to promote interest and support for all working on it. I can't answer further details now, because I'm only technically interested in this topic. I am the wrong person for that. |
Beta Was this translation helpful? Give feedback.
-
And also, @SebastianObi, I don't hold any of this against you personally as such. I can hear that much of what you are saying regarding what the software "needs" probably comes from the "leader" of the FDG organisation, and from him pushing his members to get his needs implemented. I have heard it several times before, from other people that were recruited to the FDG to carry out the same task as you are now. It must be very important for Niels to get that investor money soon, huh? If the FDG really stands by the values he claims, I wonder why he has not focused more on helping the Reticulum project directly, instead of just having a bunch of different people trying to make me implement the features he needs in a hurry. Hmm, probably because the goal is not "the common good", but really to control the immense financial value and power-base that such a network would represent for himself. I have no idea what you were told, or what you believe in @SebastianObi, but this might be a really good time to just sit down and consider if you are doing something that helps the greater good, or if you are just being used for somebody elses financial purposes. To anyone who made it this far in this thread, and in the interest of transparency, here is some additional context: @SebastianObi is part of an organisation called "FDG" that, among other things, seeks to build a radio network in the Germany, Austria and Switzerland (DACH) region of Europe. This project is, as far as I can gather, a completely commercial endeavour, even though it is in some respects being branded and communicated as being purely non-profit and "for the common good". Several people from within the FDG has repeatedly tried to coax me into implementing (as fast as possible, and without thought for the overall viability or purpose of Reticulum) the exact features they would need to have (in their own words) a "Minimally Viable Product" for their vision. The arguments for why I should do this has ranged from "we will make you famous" to "we might give you a bit of money if it succeeds" to "you have to do it now because it is really important for the safety of a lot of people". They also tried to convince me that I should add features that would allow network operators wider control and censorship options of traffic passing through their networks. This came directly from one of the founders of the organisation. Needless to say, such requests were never even considered, as anything other than inane rambling. Seen purely from the perspective of being the maintainer of Reticulum, I will remain completely neutral on whether networks are built as a commons or as private or commercial property. What I am not neutral on however, is acting like you are building a commons-based project, recruiting people to work for you for free, and then even going as far as seeking investor funding, completely on the basis of someone elses innovation and body of work. Doing so would have a very high probability of actively harming the Reticulum project as a whole, and I would obviously work directly and actively against any effort to that effect. I have edited this comment a few times to clarify things, add a few perspectives and fix some typos. The complete edit history is available on the comment. |
Beta Was this translation helpful? Give feedback.
-
And Niels, you're probably going to read this at some point, so maybe it is time that get out of the bush and answer to some of this, openly and publicly in this discussion, caus in many ways I have a hard time believing @SebastianObi has much to do with the actual critique points and bad conduct here, but was rather just doing what he believed to be good, without thinking too deeply into it. |
Beta Was this translation helpful? Give feedback.
-
Back to the Bluetooth topic: |
Beta Was this translation helpful? Give feedback.
-
Hello @markqvist, I would like to apologize for my quick and careless way of talking to you. Also, the incorrect use of "we". I have also chosen some wrong or misleading words like "investors". Several months ago I was looking for a mesh communication tool. Thereby I became attentive on the project "free German emergency radio network" of "FDG". Since I had found nothing else like it in Germany I decided to join or support this project. I can understand that there is some pressure on you to implement certain features quickly. In the end, of course, everything would have to be well planned in order to implement high quality in your software. Or would have to be adapted accordingly to the individual needs as a fork. So that this is not in conflict with your planning. Why this is done is certainly the following understandable aspect: If you consider that especially in Germany at the moment a crisis time (blackout or similar) is becoming more and more realistic. It would of course be optimal to have a communication network. The discussion should not be continued here. Instead, we should return to the original technical topic. |
Beta Was this translation helpful? Give feedback.
-
Also, this thread has, very much by my own devices, turned into a complete mess, so let's try to keep it on the subject of bluetooth functionality from now. Please open new threads for all the other interesting topics :) In that regard, it may be worth opening one regarding the standalone Reticulum daemon for Android, @LaneaLucy, if you feel like more discussion is valuable. |
Beta Was this translation helpful? Give feedback.
-
Just as a heads up to anyone who didn't see it yet, the RNode Firmware now has full Bluetooth and display support. All supported devices with built-in displays work out of the box, as soon as they have been flashed. You need to update to at least For T-Beam devices, you can connect an external SSD1306 OLED display to the GND, 3V3, SCL and SDA pins, and optionally digital Pin 0 as the reset line, if your display needs a physical reset line. The T-Beam version of the firmware expects the display to use I2C address |
Beta Was this translation helpful? Give feedback.
-
What's the status/thinking on BLE? I mentioned it in one of the iPhone threads, but don't see any more details on it @markqvist . Is there anything posted? Thanks! |
Beta Was this translation helpful? Give feedback.
-
Was testing the platform and also felt strange that bluetooth support between phones and laptops in the local vicinity wasn't an option yet. Connecting to the same local network is OK enough for trying out, but this only works at home or when everyone gets into the same local network. When meeting on the street for a spontaneous event or gathering, bluetooth would be an ideal choice. For example, to know which other people are in the vicinity available for connecting. This usage was well solved to some point with Briar: https://briarproject.org/how-it-works/ but development has winded down, and it isn't as flexible as Reticulum for connecting to just about any data path. So it would be nice to see that type of default connectivity also available here, if possible. |
Beta Was this translation helpful? Give feedback.
-
I spotted a placeholder setting in Sideband for bluetooth. Is the intention for this to
Connect with Rnode devices over Bluetooth?
Or to use Bluetooth as a networking layer in itself?
The first seems like the more interesting option to me. I like to keep my Android device in my pocket, keeping a reliable USB connection is not really practical.
Beta Was this translation helpful? Give feedback.
All reactions