Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: BLE_API LMiC SX1276Lib mbed nRF51822 nrf51_rtc
Fork of BLE_PhysicalWeb by
Revision 12:940eb88a2104, committed 2015-09-24
- Comitter:
- janjongboom
- Date:
- Thu Sep 24 08:32:32 2015 +0000
- Parent:
- 11:bbe4157401e2
- Commit message:
- Initial commit
Changed in this revision
diff -r bbe4157401e2 -r 940eb88a2104 LMiC.lib --- a/LMiC.lib Mon Aug 03 13:18:24 2015 +0000 +++ b/LMiC.lib Thu Sep 24 08:32:32 2015 +0000 @@ -1,1 +1,1 @@ -https://developer.mbed.org/teams/Semtech/code/LMiC/#d3b7bde3995c +https://developer.mbed.org/users/janjongboom/code/LMiC/#002940b52fb4
diff -r bbe4157401e2 -r 940eb88a2104 main.cpp
--- a/main.cpp Mon Aug 03 13:18:24 2015 +0000
+++ b/main.cpp Thu Sep 24 08:32:32 2015 +0000
@@ -29,7 +29,7 @@
* When set to 1 the application uses the Over-the-Air activation procedure
* When set to 0 the application uses the Personalization activation procedure
*/
-#define OVER_THE_AIR_ACTIVATION 0
+#define OVER_THE_AIR_ACTIVATION 1
#if( OVER_THE_AIR_ACTIVATION == 0 )
@@ -41,7 +41,7 @@
/*!
* Defines the device address when using personalization activation procedure
*/
-#define LORAWAN_DEV_ADDR ( uint32_t )0x73318881
+#define LORAWAN_DEV_ADDR ( uint32_t )0x73318891
#endif
@@ -83,8 +83,10 @@
// application router ID (LSBF)
static const uint8_t AppEui[8] =
-{
- 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
+{ // 13-37-aa-bb-cc-dd-ee-ff
+ 0xff, 0xee, 0xdd, 0xcc, 0xbb, 0xaa, 0x37, 0x13
+ // so its read rtl in the NS so when creating need to flip it in server
+ // compared to here. Really weird.
};
// unique device ID (LSBF)
@@ -94,25 +96,23 @@
};
// device-specific AES key (derived from device EUI)
-static const uint8_t DevKey[16] =
+static const uint8_t DevKey[16] =
{
- 0x2B, 0x7E, 0x15, 0x16, 0x28, 0xAE, 0xD2, 0xA6,
- 0xAB, 0xF7, 0x15, 0x88, 0x09, 0xCF, 0x4F, 0x3C
+ 0xC1, 0x20, 0x2B, 0xB0, 0xAE, 0x97, 0x20, 0xC8,
+ 0x18, 0xA3, 0x0F, 0xFA, 0x05, 0x14, 0xC5, 0x4F
};
#if( OVER_THE_AIR_ACTIVATION == 0 )
// network session key
-static uint8_t NwkSKey[] =
-{
- 0x2B, 0x7E, 0x15, 0x16, 0x28, 0xAE, 0xD2, 0xA6,
- 0xAB, 0xF7, 0x15, 0x88, 0x09, 0xCF, 0x4F, 0x3C
+static uint8_t NwkSKey[] =
+{
+ 0x50, 0x12, 0x78, 0x26, 0x23, 0x9A, 0x5E, 0x39,
+ 0x86, 0x8A, 0xCA, 0x7B, 0xDE, 0x16, 0xE1, 0x32
};
-
-// application session key
-static uint8_t ArtSKey[] =
-{
- 0x2B, 0x7E, 0x15, 0x16, 0x28, 0xAE, 0xD2, 0xA6,
- 0xAB, 0xF7, 0x15, 0x88, 0x09, 0xCF, 0x4F, 0x3C
+static uint8_t ArtSKey[] =
+{
+ 0x54, 0xEB, 0x54, 0x4B, 0x07, 0x0C, 0x10, 0x69,
+ 0xB1, 0x44, 0x94, 0x44, 0xF1, 0xCC, 0x13, 0xDA
};
#endif
@@ -320,11 +320,13 @@
{
// network joined, session established
case EV_JOINED:
+ pc.printf("Joined, ID=%d\n", LMIC.netid);
debug_val( "Net ID = ", LMIC.netid );
txOn = true;
break;
// scheduled data sent (optionally data received)
case EV_TXCOMPLETE:
+ pc.printf("TXComplete, datarate=%d\n", LMIC.datarate);
debug_val( "Datarate = ", LMIC.datarate );
// Check if we have a downlink on either Rx1 or Rx2 windows
if( ( LMIC.txrxFlags & ( TXRX_DNW1 | TXRX_DNW2 ) ) != 0 )
@@ -388,25 +390,18 @@
pc.printf("Current state %d, last_rise %d\r\n", rise_state, rtc.time() - last_rise);
}
-int main(void)
-{
- Ticker ticker;
- ticker.attach(&lastRiseCallback, 10);
-
- motion.rise(&riseHandler);
- motion.fall(&fallHandler);
-//
+void run_ble() {
ble.init();
ble.onDisconnection(disconnectionCallback);
- uriBeaconConfig = new URIBeaconConfigService(ble, "http://goo.gl/kFE6eY");
+ uriBeaconConfig = new URIBeaconConfigService(ble, "http://goo.gl/H9YK6O");
if (!uriBeaconConfig->configuredSuccessfully()) {
error("failed to accommodate URI");
}
/* optional use of the API offered by URIBeaconConfigService */
const int8_t powerLevels[] = {-20, -4, 0, 10};
uriBeaconConfig->setTxPowerLevels(powerLevels);
- uriBeaconConfig->setTxPowerMode(URIBeaconConfigService::TX_POWER_MODE_LOW);
+ uriBeaconConfig->setTxPowerMode(URIBeaconConfigService::TX_POWER_MODE_HIGH);
static const uint8_t BEACON_UUID[] = {0xD8, 0xFE};
static const uint8_t urldata[] = {
@@ -422,12 +417,12 @@
'g',
'l',
'/',
- 'k',
- 'F',
- 'E',
+ 'H',
+ '9',
+ 'Y',
+ 'K',
'6',
- 'e',
- 'Y',
+ 'O',
};
ble.clearAdvertisingPayload();
@@ -435,16 +430,39 @@
ble.accumulateAdvertisingPayload(GapAdvertisingData::SERVICE_DATA, urldata, sizeof(urldata));
ble.setAdvertisingType(GapAdvertisingParams::ADV_NON_CONNECTABLE_UNDIRECTED);
- ble.setAdvertisingInterval(1600); /* 1s; in multiples of 0.625ms. */
+ ble.setAdvertisingInterval(800); /* .5s; in multiples of 0.625ms. */
ble.startAdvertising();
-
- osjob_t initjob;
+}
+
+int main(void)
+{
+ Ticker ticker;
+ ticker.attach(&lastRiseCallback, 10);
- // initialize runtime env
- os_init( );
- // setup initial job
- os_setCallback( &initjob, onInit );
- // execute scheduled jobs and events
- os_runloop( );
+ motion.rise(&riseHandler);
+ motion.fall(&fallHandler);
+
+ run_ble();
+
+// run_ble();
+
+// osjob_t initjob;
+////
+// // initialize runtime env
+// os_init( );
+// // setup initial job
+// os_setCallback( &initjob, onInit );
+//
+// os_runloop();
+
+ while (true) {
+ // execute scheduled jobs and events
+// os_inner_loop();
+ ble.waitForEvent();
+ }
+
+
+
+// os_runloop( );
// (not reached)
}
diff -r bbe4157401e2 -r 940eb88a2104 mbed-rtos.lib --- a/mbed-rtos.lib Mon Aug 03 13:18:24 2015 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -http://mbed.org/users/mbed_official/code/mbed-rtos/#5aed8bae1001
