You can use a spectrum analyzer to make sure that:
The antenna is emitting at the correct frequency (range).
The output power is the expected (theoretically calculated) output power (or it is close enough).
A higher end version of a spectrum analyzer (including bit error rate analyzer) could help you further on making sure that not only the antenna but ...
Some ideas - I've not covered all combinations of with/without username/TLS, hopefully you can see where they are missing.
Can a client connect anonymously, no TLS?
mosquitto_sub -t test/topic -h <broker address>
Can a client connect if it provides a username but no password, no TLS?
mosquitto_sub -t test/topic -u <username> -h <broker ...
There are two main approaches to characterising an antenna and its effectiveness in-system, free space and in-situ. The first will give you a best-case baseline, is less susceptible to measurement noise (especially if you have access to a large anechoic chamber), and probably works best for selecting between candidate antenna variations. In-situ measurements ...
I have software (Windows Server - a little different to 'things' but the principal is the same) that calls in every 24 hours - it sends back various meta data about itself :
customer name (or unique ID)
timestamp of call/request
product type / id
The web service parses out the data and inserts (or updates if the customer has an existing ...
In order to properly test the antenna at minimum the following items are required
A source antenna with the known pattern and transmitter such as a RF signal generator create known signals
The test antenna with a receiver system measure and monitor the receive RF signal. In this case the z-wave device could be used receiver system.
Antenna under test (AUT) ...
You could, for example, make a request every X weeks/days/hours... to a server with the current version number of the software. You will after be able to use analytics to see the current percentage and number of devices updated.
In addition to the answer of Sean Houlihane, I would like to add a few things. I don't mean to sound arrogant, but I think that you don't want to test the security of the sensors themselves, because I assume that temperature and movement sensors are bought from OEMs. These sensors are simply used by students in order to record information on the Raspberry Pi....
Maybe stating the obvious, but I think it's important to emphasise that a beginner can't expect to build a secure network. Nothing wrong with learning though.
It looks like the primary security in MQTT is implemented at the transport layer, so that should be your focus for real security.
I'd be surprised if any automated test suite would be able to ...
This belongs more on the SQA SE, but here there is better context.
Usually you would want three levels of testing
Unit tests, in your case this can be testing the generated code even without an OS. You can achieve it by mocking whatever is missing.
Integration tests, mocking everything will check the generated code but will tell you nothing about how it ...
This really depends on how you are connecting to the IoT network in the first place. I am assuming you mean via TCP/IP.
Depending on how far you wish to go with this, you may want to look into a bootable Kali Linux USB to run the pentests. (Its literally what that OS was designed to do)
You can use Nmap in linux/Windows to determine ports that are open/...
It's all about a smart synchronization policy
You need a smart synchronization policy that works in tandem with your roll-out approach of your update. The most obvious point in time where the IoT device should sync its version is directly after the update. The rest of the sync schedule is highly dependent on the type of device.
Is it always on and ...
Rather than explaining how to secure a system like this, I'll list the points that I think are important. I'm sure I've missed some.
Transmission over TLS (so it can't be snooped or replayed)
Protection against nodes being cloned (assume the TLS implementation can be broken)
Protection against man-in-the-middle attacks (assume the target device is vunerable,...
The Nest Protect seems to have three self-testing mechanisms:
The Self Test, which runs every 200 seconds, and tests power, smoke/CO sensors and Wi-Fi
The monthly Sound Check, which verifies that the speaker, horn and light ring work as expected
The on-demand Safety Checkup, which tests all of the above components.
The automatic testing mechanisms cannot ...
In addition of runtime testing....
You might consider using static program analysis techniques, e.g. with Frama-C or Clang analyzer. Read also this draft report for more, and consider using Bismon after september 2020. See also Chariot and Decoder and Vessedia European projects.
Another approach would be a metaprogramming approach : you would write (or use) ...
I don't know any standardized test for ESP32 but I found these links which will surely guide you and help you to check the ESP32 signal strength and range.
1.ESPressif production testing guide:
You should read this testing guide which is officially provided by the ESPressif (owner and manufactures of ESPxxx chips).
In this, they have stated the PC testing ...
At time of writing, according to the PlatformIO docs, there is only one ESP32 with on-board debug support - the ESP-WROVER-KIT-VB.
It's slightly pricey, but has large 3.5" display. Here is a YouTube video of it playing Doom.
I am also looking at the JTAG probes which the PlatformIO docs say support ESP32, to see if one can be used for other processors, ...