Wow, like pulling teeth - so what is the custom board, what is the firmware, what is the revision of the stack - to be blunt, you clearly don’t know LoRaWAN well enough to figure out duplicate DevNonce so it’s up to you if you want help, give us something to go on. Or contract someone to sort this out for you.
We use seeed stm32-wl module, and the programming is done in the stm32cube ide. We are a startup testing different options, and I’m the only software guy. I have to handle cloud, backend, MLOps, and machine learning parts and do not have enough time to focus a lot on LoRaWAN, which I know is not a good approach. But we are at this stage now. I started stm32 programming a few weeks ago. We were using wifi in Arduino and Google IoT core, but we had many problems with end users. So we thought LoRa could be easier if the end-user didn’t need to connect to Wi-Fi anymore. But I see many more problems now :))
After a lot of trying, I finally connected to the network a few weeks ago, and now these new problems have appeared. I tried Helium too, but the coverage is not good here, so I bought an indoor TTN gateway to be able to at least test and develop. Now I see this new problem with not connecting to the network. I now tested the same code on Nucleo-wl55jc1, and I see it can connect and send data to the console. Maybe the problem is with my board, but it was working, and I tested a new custom board again, and it didn’t work.
Unfortunately, the hardware guy in our team designed the board and gave it to me. They think the software is magic and I can do whatever I want.
Thanks again for all your helps
Sorry, no, it’s you. You can’t unicycle until you know how a bicycle works, but you don’t have time to do that so you are crashing a lot.
I’d use nRF24L01 or LoRa or LoRaWAN for radios and have just one ‘gateway’ on WiFi any day of the week as setting up a clutch of WiFi devices is a real PitA for the end user. Although if you add in some NFC or have the gateway go in to “config” mode it can distribute credentials, but that’s off-topic for here.
The challenge you face is immense unless you can get some peace from your colleagues so you can work through this methodically. And think harder when asked for details - like which revision of the Cube library are you using, are you able to use CubeMX, have you tried with a LoRa-E5 mini as a known good reference design of board (hardware people gloss over issues just like the software peeps do) plus anything else that fills in the details.
I spun up a LoRa-E5 board yesterday - a very hacky test of getting production to make me PCB’s - I should have tried something simpler - but it’s all good and it accepted my firmware template and joined first time.
So be assured that it can be done.
Things like the DevNonce issue are to do with the fundamentals of LoRaWAN and it bites you in one of two flavours as I put above. So knowing the details of the join procedure is a good thing. Which fundamentally boils down to reading the specification - not learning it by heart, but you get a much better picture of what has to happen & why & how if you read it.
I wonder if you searched the forum for the previous answers to this issue as I suggested above?
But even if you figure out that this is a development problem, you will get bitten in a few days time by something else and be back here if you can’t carve out some time to learn LoRaWAN properly.
And then there is the whole world of STM32 - not something that you can acquire by osmosis either - search out “Mastering STM32” - not totally up to date but readable as a good overview with enough detail to tell you what you need to search out in the docs or keywords for Ms Google.
Multi-disciplinary is doable to a point - so firmware + web hook to database isn’t a total stretch. Web console is OK for DevOps, the CLI is a great tool but you need to know the what’s & why’s of the options. But ML is like a whole different sort of brain / workload. So I’d leave that totally out the picture so you can spend a weekend re-configuring your brain from one sort of coding to another. If pushed, check out Edge Impulse for a quick win. But context switch between firmware to web is hard enough, so compartmentalising is best.
An IoT specialist I regard highly once compared people that have to do it all to a Swiss Army Knive. Too many options and all of them just about work, but that is it. The results of using it will be mediocre at best.
Even in a startup, or especially in a startup if you do not want to fail, you need the right people with the right skills to perform a job or your customers won’t love the result but tolerate it at best and return it an masse if you’re unlucky.