Giter VIP home page Giter VIP logo

azure-iot-developer-kit's Introduction

Archived

This repository is no longer maintained. Please see http://aka.ms/iot-devkit for current documentation on using the AZ3166 board with Azure RTOS.

Microsoft Azure IoT Developer Kit

Visit the project overview page to get started: https://microsoft.github.io/azure-iot-developer-kit/

Repository Structure

  • /docs - Project home page with all other documents

Contributing

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact [email protected] with any additional questions or comments.

azure-iot-developer-kit's People

Contributors

arthma avatar billbogaiv avatar blackchoey avatar chentanyi avatar crpietschmann avatar dependabot[bot] avatar dooriya avatar formulahendry avatar furqanmm avatar helenlivsc avatar hugodahl avatar ihere1 avatar jantielens avatar jerryyangkai avatar jimbobbennett avatar jwendl avatar kant avatar kartben avatar likidu avatar lirenhe avatar liydu avatar michaeljqzq avatar microsoftopensource avatar noopkat avatar peterblazejewicz avatar robotdad avatar sneezry avatar v-mavick avatar vschinaiot avatar williamberryiii avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

azure-iot-developer-kit's Issues

Error: Expected ')' before numeric constant (1.2.0.28)

When using a standard building tool, the code at lines 98 and 100 of header file ~/Library/Arduino15/packages/AZ3166/hardware/stm32f4/1.2.0/system/emw10xx-driver/mico/net/LwIP/lwip-ver1.4.0.rc1/src/include/ipv4/lwip/ip_addr.h on DevKit release 1.2.0.28:

/** 255.255.255.255 */
#define IPADDR_NONE         ((u32_t)0xffffffffUL)
/** 127.0.0.1 */
#define IPADDR_LOOPBACK     ((u32_t)0x7f000001UL)

throws the errors

In file included from ~/Library/Arduino15/packages/AZ3166/hardware/stm32f4/1.2.0/system/emw10xx-driver/mico/net/LwIP/lwip-ver1.4.0.rc1/src/include/lwip/sockets.h:43:0,

                 from ~/Library/Arduino15/packages/AZ3166/hardware/stm32f4/1.2.0/system/emw10xx-driver/mico/include/mico_socket.h:21,

                 from ~/Library/Arduino15/packages/AZ3166/hardware/stm32f4/1.2.0/system/emw10xx-driver/mico/include/mico.h:38,

                 from ~/Library/Arduino15/packages/AZ3166/hardware/stm32f4/1.2.0/system/emw10xx-driver/EMW10xxInterface.h:22,

                 from main.cpp:12:

~/Library/Arduino15/packages/AZ3166/hardware/stm32f4/1.2.0/system/emw10xx-driver/mico/net/LwIP/lwip-ver1.4.0.rc1/src/include/ipv4/lwip/ip_addr.h:98:37: Expected ')' before numeric constant

 #define IPADDR_NONE         ((u32_t)0xffffffffUL)
                                     ^

~/Library/Arduino15/packages/AZ3166/hardware/stm32f4/1.2.0/system/emw10xx-driver/mico/net/LwIP/lwip-ver1.4.0.rc1/src/include/ipv4/lwip/inet.h:49:29: In expansion of macro 'IPADDR_NONE'

 #define INADDR_NONE         IPADDR_NONE
                             ^

~/Library/Arduino15/packages/AZ3166/hardware/stm32f4/1.2.0/cores/arduino/IPAddress.h:78:17: In expansion of macro 'INADDR_NONE'

 const IPAddress INADDR_NONE(0,0,0,0);
                 ^

Commenting the two lines 98 and 100 on header file ~/Library/Arduino15/packages/AZ3166/hardware/stm32f4/1.2.0/system/emw10xx-driver/mico/net/LwIP/lwip-ver1.4.0.rc1/src/include/ipv4/lwip/ip_addr.h solves the issue.

Provision for Shake Sample Fails with `stderr maxBuffer exceeded` on Windows

During task deploy, errors occur indicating some sort of stderr, however, maxBuffer error is shown, and nothing about what the error is.

To Repro:

Windows 1709 Pro (Fall Creators Update)

  1. run latest (devkit_install_win_1.2.0.29.zip) dev kit install.
  2. Firmware on board is 1.2.0
  3. Open Visual Studio Code & Plugin Card
  4. Choose the ShakeShake Project.
  5. Run the provision task

During provision task - finally see the below, and then it just is stuck.

Executing task: node "C:\Users\cicorias\azure-board-cli\out\cli.js" provision .bin <

  - checking pre-conditions of task: node.js version
  V node.js version: v7.2.1
  - checking pre-conditions of task: azure cli version
  V azure cli version: 2.0.21
  - checking pre-conditions of task: subscription
? What subscription would you like to choose? CSE NYC Tyrell Team Subscription (b00a4572-2115-4d17-a2e5-b83326ab371b) ([email protected])
  V subscription: b00a4572-2115-4d17-a2e5-b83326ab371b
  - checking pre-conditions of task: azure cli iothub
? Which Resource Group would you like to choose? Create new...
? Resource Group Name:  shawniottesting
Creating resource group [shawniottesting-group-acd0] ...
Create resource group [shawniottesting-group-acd0] Succeeded.
? IoT Hub Name:  cicorias
  V azure cli iothub: {"iotHubName":"cicorias-iothub-acd0","subscription":"b00a4572-2115-4d17-a2e5-b83326ab371b","resourceGroup":"shawniottesting-group-acd0"}
  - checking pre-conditions of task: function app
  V function app: function app name: cicorias-iothub-acd0-shakea3c0
  - checking pre-conditions of task: ARM template deployment
-   X ARM template deployment: Unexpected error when executing "C:\\Program Files (x86)\\Microsoft SDKs\\Azure\\CLI2\\wbin\\az.cmd" group deployment create --resource-group shawniottesting-group-acd0 --template-file ".bin\azuredeploy.json" --parameters "{\"iotHubName\":{\"value\":\"cicorias-iothub-acd0\"},\"iotHubSku\":{\"value\":\"F1\"},\"iotHubCapacity\":{\"value\":1},\"iotHubExisted\":{\"value\":\"\"},\"functionAppName\":{\"value\":\"cicorias-iothub-acd0-shakea3c0\"}}" : stderr maxBuffer exceeded. Error: stderr maxBuffer exceeded
    at Socket.onChildStderr (child_process.js:283:14)
    at emitOne (events.js:96:13)
    at Socket.emit (events.js:188:7)
    at readableAddChunk (_stream_readable.js:176:18)
    at Socket.Readable.push (_stream_readable.js:134:10)
    at Pipe.onread (net.js:551:20)
(node:26264) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 1): Unexpected error when executing "C:\\Program Files (x86)\\Microsoft SDKs\\Azure\\CLI2\\wbin\\az.cmd" group deployment create --resource-group shawniottesting-group-acd0 --template-file ".bin\azuredeploy.json" --parameters "{\"iotHubName\":{\"value\":\"cicorias-iothub-acd0\"},\"iotHubSku\":{\"value\":\"F1\"},\"iotHubCapacity\":{\"value\":1},\"iotHubExisted\":{\"value\":\"\"},\"functionAppName\":{\"value\":\"cicorias-iothub-acd0-shakea3c0\"}}" : stderr maxBuffer exceeded. Error: stderr maxBuffer exceeded
    at Socket.onChildStderr (child_process.js:283:14)
    at emitOne (events.js:96:13)
    at Socket.emit (events.js:188:7)
    at readableAddChunk (_stream_readable.js:176:18)
    at Socket.Readable.push (_stream_readable.js:134:10)
    at Pipe.onread (net.js:551:20)
(node:26264) DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
|

image

[MXCHIP AZ3166] Failed to link. Undefined reference to 'yield'

[MXCHIP AZ3166] undefined reference to `yield'

yield() is defined in Arduino.h in the extern "C" {} block (C:\Users\adumont\AppData\Local\Arduino15\packages\AZ3166\hardware\stm32f4\1.2.1\cores\arduino\Arduino.h), but it fails to link:

Linking everything together...
"C:\Users\adumont\AppData\Local\Arduino15\packages\AZ3166\tools\arm-none-eabi-gcc\5_4-2016q3/bin/arm-none-eabi-gcc" -mcpu=cortex-m4 -mthumb -O0 -g -Wl,--cref -Wl,--check-sections -Wl,--gc-sections -Wl,--unresolved-symbols=report-all -Wl,--warn-common -Wl,--warn-section-align "-TC:\Users\adumont\AppData\Local\Arduino15\packages\AZ3166\hardware\stm32f4\1.2.1\variants\MXChip_AZ3166/linker_scripts/gcc/AZ3166.ld" "-Wl,-Map,C:\Users\adumont\AppData\Local\Temp\arduino_build_357927/sketch_dec13a.ino.map" "-Wl,--gc-sections"  -o "C:\Users\adumont\AppData\Local\Temp\arduino_build_357927/sketch_dec13a.ino.elf" "-LC:\Users\adumont\AppData\Local\Temp\arduino_build_357927" "-LC:\Users\adumont\AppData\Local\Arduino15\packages\AZ3166\hardware\stm32f4\1.2.1\system/sdk/lib" "-LC:\Users\adumont\AppData\Local\Arduino15\packages\AZ3166\hardware\stm32f4\1.2.1\system/emw10xx-driver/libwlan/TARGET_EMW1062" -Wl,--wrap,_malloc_r -Wl,--wrap,_free_r -Wl,--wrap,_realloc_r -Wl,--wrap,_calloc_r -Wl,--start-group "C:\Users\adumont\AppData\Local\Temp\arduino_build_357927\sketch\sketch_dec13a.ino.cpp.o" "C:\Users\adumont\AppData\Local\Temp\arduino_build_357927\core\variant.cpp.o" "C:\Users\adumont\AppData\Local\Temp\arduino_build_357927/core\core.a" -Wl,--end-group -lm -lwlan -lwifi -lmbed-os -lstdc++ -gcc --specs=nano.specs --specs=nosys.specs -u _printf_float
c:/users/adumont/appdata/local/arduino15/packages/az3166/tools/arm-none-eabi-gcc/5_4-2016q3/bin/../lib/gcc/arm-none-eabi/5.4.1/../../../../arm-none-eabi/bin/ld.exe: warning: changing start of section .bss by 4 bytes

c:/users/adumont/appdata/local/arduino15/packages/az3166/tools/arm-none-eabi-gcc/5_4-2016q3/bin/../lib/gcc/arm-none-eabi/5.4.1/../../../../arm-none-eabi/bin/ld.exe: warning: changing start of section .bss by 4 bytes

c:/users/adumont/appdata/local/arduino15/packages/az3166/tools/arm-none-eabi-gcc/5_4-2016q3/bin/../lib/gcc/arm-none-eabi/5.4.1/../../../../arm-none-eabi/bin/ld.exe: warning: changing start of section .bss by 4 bytes

C:\Users\adumont\AppData\Local\Temp\arduino_build_357927\sketch\sketch_dec13a.ino.cpp.o: In function `setup':

C:\Users\adumont\Documents\Arduino\generated_examples\alex1\sketch_dec13a/sketch_dec13a.ino:5: undefined reference to `yield'

collect2.exe: error: ld returned 1 exit status

exit status 1
Error compiling for board MXCHIP AZ3166.


Board selected: MXCHIP AZ3166
Sketch is simple (3 lines):

#include <Arduino.h>
void setup() { yield(); }
void loop() {}

I suspect it's not implemented. yield() doesn't appear anywhere in the stm32f4 sources. In that case why is it in Arduino.h?

Baud Rate was set at 9600 by default

Should notify developer to set to 115200 for MQTT and Connect to IoT Hub examples in order to display the serial monitor information correctly.

v1.1 release doc updates

  • Release notes
  • Shake, shake UI changes
  • New Arduino extension UI changes
  • Breaking changes with ST-SAFE

Before open source

  • Clean up source folder
  • Fix broken links
  • Add CONTRIBUTION.md
  • Add favicon
  • Fix issues reported by Acrolinx
  • Fix other outstanding issues by users

IoT Central promotion content

  • Add  “What’s new” section on the DevKit landing page. So the IoT Central integration could be our first piece of news for it.
  • Add a mini solution tile in the Project Catalog, that will point to the tutorial doc.

Should mention what the risks are here if everything is stored in clear text

Suggested by @jonbgallant

After WiFi is configured, your credentials will be persisted on the device for that connection, even if unplugged. For example, if you configured the DevKit for WiFi in your home and then took the DevKit to the office, you will need to reconfigure AP mode (starting at step 3A) to connect the DevKit to your office WiFi.

Add support for multi-page projects.

Some projects are likely to be rather involved, particularly if they involve cloud assets to complete. I think we should add an attribute to larger projects, allowing for the projects page to support loading only the first section of these larger projects. I'd like to recommend a part attribute in the markdown header to support this.

macOS: `install.sh` script doesn't check the active folder

The install.sh script provided at Get Started > Step 5. Prepare the development environment > macOS doesn't check the folder where it is called from.

If launched in the wrong folder, cp -r * ~/azure-board-cli could copy the entire folder.

#!/bin/bash
rm -rf ~/azure-board-cli
mkdir ~/azure-board-cli
cp -r * ~/azure-board-cli
cd ~/azure-board-cli

rm -rf ~/Library/Arduino15/packages/AZ3166

mkdir -p ~/Library/Arduino15/staging/packages
rsync -u tools/staging/* ~/Library/Arduino15/staging/packages

brew update
brew reinstall yarn
yarn install --production --no-progress

node out/cli.js installation

[AZ 3166]Fail to reconnect WiFi after call disconnect

Hey,
I've found issue when I want to implement switch to on/off WiFi. AZ3166 version = 1.2.1
When I invoke this method

static void InitWiFi()
{
  Screen.print(1, "Connecting...");
  while (wifiStatus != WL_CONNECTED)
  {
    wifiStatus = WiFi.begin();
  }
  hasWifi = true;
  Screen.print(3, "> WiFi on");
  EnterIdleState();
}

And then

static void TurnOffWifi()
{
  Screen.print(1, "Disconnecting...");
  if(hasWifi)
  {
    WiFi.disconnect();
    hasWifi = false;
    wifiStatus = WL_DISCONNECTED;
    Screen.print(3, "> WiFi off");
  }
  delay(1000);
  EnterIdleState();
}

Is everything fine, but when I want to reconnect to WiFi by invoking InitWiFi() again, device enter into infinite loop. I digged into WiFiClass(AZ3166WiFi.cpp) and found solution. When begin(void) method is invoked check for

if (!is_station_inited) 
{
    return WL_CONNECT_FAILED;
}

But in disconnect() method value of is_station_inited is setup to false, so I've changed code above to

if (!is_station_inited) 
{
    is_station_inited = InitSystemWiFi();
}

In my WiFiClass I've changed also overload of begin(char* ssid, const char *passphrase) like above.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.