It's great to know that your expierence with Carriots is going well.
Answering your questions
is-it possible to store binary data (like the picture taken by a webcam) as a device measure ?
It is technically possible to store binary data if you serialize it. But I have to warn you that Carriots have a 10KB limit per data stream so it wont work for images. For this cases we recommend to use external services and manage metadata with Carriots.
Is-it possible to implement on the carriots platform a sort of background job which will be pulling data from a device who cannot make HTTP POST or do i need to host that code somewhere else ?
There is no cron-like tasks explicitly implemented on Carriots, but there is a feature that can do the job if it suits your needs. You can use device inner status automatic changes to raise events. You can define a Data or Status stream frequency and make Carriots expect a stream within a time range and if no stream is received an event is fired (Event Device Change State) that can be catched by a Listener. You can find more details about inner status in the documentation page: https://www.carriots...ce_inner_status
Hope it helps.