People I have seen generally getting started with Arduino or Raspberi Pi , for programming they use c, python. IOT also has a networking part , for that NS3 can be used!
As we know, IoT will have various devices and can be divided into different networks. Thus, your security threat model needs to focus a certain level, but not all the levels including hardware, OS, network protocol, and application...The existing answers have clarify the good network simulators you can adopt (Cooja is a cross-level simulator but the others also can run with specific emulators like Qemu and etc).
SimpleIOTSimulator : it is easy to use,IoT Sensor/device simulator that quickly creates test environments made up of thousands of sensors and gateways, all on just one computer.
It includes:
- CoAP
- MQTT
- MQTT-SN
- MQTT-Broker
- HTTP/s client
HTTPs/server
it enables IoT platform and gateway vendors to improve product quality and significantly shorten their time-to-market without incurring large capital expense for creating test infrastructure.
As a follow up question, does anyone know which of these simulators mentioned will work best for researching LoRa i.e Long Range low power internet of things , also widely known as LPWAN.