User | Revision | Line number | New contents of line |
kevman |
0:38ceb79fef03
|
1
|
# Mbed cellular connectivity
|
kevman |
0:38ceb79fef03
|
2
|
|
kevman |
0:38ceb79fef03
|
3
|
This is the Github repo for Mbed cellular connectivity:
|
kevman |
0:38ceb79fef03
|
4
|
|
kevman |
0:38ceb79fef03
|
5
|
easy_cellular/
|
kevman |
0:38ceb79fef03
|
6
|
EasyCellularConnection Simplified cellular usage based on `CellularBase.h`
|
kevman |
0:38ceb79fef03
|
7
|
CellularConnectionUtil A utility class for cellular connection
|
kevman |
0:38ceb79fef03
|
8
|
|
kevman |
0:38ceb79fef03
|
9
|
framework/
|
kevman |
0:38ceb79fef03
|
10
|
API Application Programming Interface for cellular connectivity
|
kevman |
0:38ceb79fef03
|
11
|
AT AT implementation based on 3GPP TS 27.007 specification
|
kevman |
0:38ceb79fef03
|
12
|
common Common and utility sources
|
kevman |
0:38ceb79fef03
|
13
|
targets Vendor specific cellular module adaptations
|
kevman |
0:38ceb79fef03
|
14
|
|
kevman |
0:38ceb79fef03
|
15
|
TESTS Cellular Greentea test
|
kevman |
0:38ceb79fef03
|
16
|
|
kevman |
0:38ceb79fef03
|
17
|
UNITTESTS Cellular unit test
|
kevman |
0:38ceb79fef03
|
18
|
|
kevman |
0:38ceb79fef03
|
19
|
## Known limitations
|
kevman |
0:38ceb79fef03
|
20
|
|
kevman |
0:38ceb79fef03
|
21
|
**Please note that this is a first release of Cellular framework and is subject to further development in future.**
|
kevman |
0:38ceb79fef03
|
22
|
|
kevman |
0:38ceb79fef03
|
23
|
Only UDP is supported when using AT commands to control sockets in an IP stack built into the cellular modem. If TCP is required, use the PPP/LWIP stack.
|
kevman |
0:38ceb79fef03
|
24
|
|
kevman |
0:38ceb79fef03
|
25
|
## Supported modules
|
kevman |
0:38ceb79fef03
|
26
|
|
kevman |
0:38ceb79fef03
|
27
|
You can find currently supported cellular modules in the `framework/targets/` folder, where we also add support for new cellular modules.
|
kevman |
0:38ceb79fef03
|
28
|
|
kevman |
0:38ceb79fef03
|
29
|
## Cellular configuration
|
kevman |
0:38ceb79fef03
|
30
|
|
kevman |
0:38ceb79fef03
|
31
|
You can change cellular defaults in the `mbed_lib.json` configuration file.
|
kevman |
0:38ceb79fef03
|
32
|
|
kevman |
0:38ceb79fef03
|
33
|
You can also override cellular defaults in the `mbed_app.json` configuration file:
|
kevman |
0:38ceb79fef03
|
34
|
|
kevman |
0:38ceb79fef03
|
35
|
"config": {
|
kevman |
0:38ceb79fef03
|
36
|
"cellular_plmn": {
|
kevman |
0:38ceb79fef03
|
37
|
"help": "PLMN selection, 0=auto",
|
kevman |
0:38ceb79fef03
|
38
|
"value": 0
|
kevman |
0:38ceb79fef03
|
39
|
},
|
kevman |
0:38ceb79fef03
|
40
|
"apn": {
|
kevman |
0:38ceb79fef03
|
41
|
"help": "Access point name, e.g. internet",
|
kevman |
0:38ceb79fef03
|
42
|
"value": "\"internet\""
|
kevman |
0:38ceb79fef03
|
43
|
},
|
kevman |
0:38ceb79fef03
|
44
|
"cellular_sim_pin": {
|
kevman |
0:38ceb79fef03
|
45
|
"help": "PIN code",
|
kevman |
0:38ceb79fef03
|
46
|
"value": "\"1234\""
|
kevman |
0:38ceb79fef03
|
47
|
}
|
kevman |
0:38ceb79fef03
|
48
|
}
|
kevman |
0:38ceb79fef03
|
49
|
|
kevman |
0:38ceb79fef03
|
50
|
## Debug traces
|
kevman |
0:38ceb79fef03
|
51
|
|
kevman |
0:38ceb79fef03
|
52
|
You can define the debug tracing level in the `mbed_app.json` configuration file:
|
kevman |
0:38ceb79fef03
|
53
|
|
kevman |
0:38ceb79fef03
|
54
|
"target_overrides": {
|
kevman |
0:38ceb79fef03
|
55
|
"*": {
|
kevman |
0:38ceb79fef03
|
56
|
"target.features_add": ["COMMON_PAL"],
|
kevman |
0:38ceb79fef03
|
57
|
"mbed-trace.enable": true,
|
kevman |
0:38ceb79fef03
|
58
|
"platform.stdio-convert-newlines": true,
|
kevman |
0:38ceb79fef03
|
59
|
"platform.stdio-baud-rate": 115200,
|
kevman |
0:38ceb79fef03
|
60
|
"platform.default-serial-baud-rate": 115200
|
kevman |
0:38ceb79fef03
|
61
|
}
|
kevman |
0:38ceb79fef03
|
62
|
},
|
kevman |
0:38ceb79fef03
|
63
|
"config": {
|
kevman |
0:38ceb79fef03
|
64
|
"trace-level": {
|
kevman |
0:38ceb79fef03
|
65
|
"help": "Options are TRACE_LEVEL_ERROR,TRACE_LEVEL_WARN,TRACE_LEVEL_INFO,TRACE_LEVEL_DEBUG",
|
kevman |
0:38ceb79fef03
|
66
|
"macro_name": "MBED_TRACE_MAX_LEVEL",
|
kevman |
0:38ceb79fef03
|
67
|
"value": "TRACE_LEVEL_INFO"
|
kevman |
0:38ceb79fef03
|
68
|
}
|
kevman |
0:38ceb79fef03
|
69
|
}
|
kevman |
0:38ceb79fef03
|
70
|
|
kevman |
0:38ceb79fef03
|
71
|
## Greentea tests
|
kevman |
0:38ceb79fef03
|
72
|
|
kevman |
0:38ceb79fef03
|
73
|
The `TESTS` folder contains Greentea tests for cellular specific classes. You need to give relevant configuration file with `--app-config` parameter, e.g.:
|
kevman |
0:38ceb79fef03
|
74
|
|
kevman |
0:38ceb79fef03
|
75
|
mbed test -n features-cellular-tests-* --app-config features\cellular\TESTS\socket\udp\template_mbed_app.json.txt -v
|
kevman |
0:38ceb79fef03
|
76
|
|
kevman |
0:38ceb79fef03
|
77
|
Note that Greentea tests use SIM PIN so you need to change that or your SIM card may get locked.
|
kevman |
0:38ceb79fef03
|
78
|
|
kevman |
0:38ceb79fef03
|
79
|
## Unit tests
|
kevman |
0:38ceb79fef03
|
80
|
|
kevman |
0:38ceb79fef03
|
81
|
The `UNITTESTS` folder contains unit tests for cellular specific classes. Unit tests are based on the stubbing method.
|
kevman |
0:38ceb79fef03
|
82
|
|
kevman |
0:38ceb79fef03
|
83
|
You can run those tests locally by running `./run_tests` script under the `UNITTESTS/` folder.
|
kevman |
0:38ceb79fef03
|
84
|
|
kevman |
0:38ceb79fef03
|
85
|
You need the following applications: `cpputest`, `gcov` and `lcov` (genhtml) for running the tests.
|
kevman |
0:38ceb79fef03
|
86
|
|
kevman |
0:38ceb79fef03
|
87
|
After you have run the `run_tests` script, you can find test results under `UNITTESTS/results` folder and line and function coverages under the `UNITTESTS/coverages` folder.
|